Как масштабировать изображение в ImageView, чтобы сохранить соотношение сторон в Android?
ImageView используется для отображения ресурсов изображений, таких как BitMap или Drawables. Класс ImageView или android.widget.ImageView наследует класс android.view.View, который является подклассом Kotlin.any_class. Применение ImageView также заключается в применении оттенков к изображению для повторного использования ресурса рисования и создания наложений на фоновые изображения. Кроме того, ImageView также используется для управления размером и перемещением изображения. Чтобы узнать больше об ImageView, обратитесь к ImageView в Android с примером.
Пошаговая реализация
Чтобы сохранить соотношение сторон изображения, выполните следующие действия для масштабирования изображения:
Шаг 1. Создайте новый проект в Android Studio.
Чтобы создать новый проект в Android Studio, обратитесь к разделу «Как создать/запустить новый проект в Android Studio». Код для этого был предоставлен как на Java, так и на языке программирования Kotlin для Android.
Шаг 2: Работа с файлами XML
Далее перейдите к файлу activity_main.xml , представляющему UI проекта. Ниже приведен код файла activity_main.xml . Комментарии добавляются внутри кода, чтобы понять код более подробно. Импортируйте любой логотип для отображения в app:srcCompat=”@drawable/<your_image>” .
XML
<? xml version = "1.0" encoding = "utf-8" ?> < androidx.constraintlayout.widget.ConstraintLayout xmlns:android = "http://schemas.android.com/apk/res/android" android:layout_width = "match_parent" android:layout_height = "match_parent" tools:context = ".MainActivity" > <!-- 1. here layout_centerInParent makes image at center 2. adjustViewBounds adjusts the bounds of the ImageView control to maintain the aspect ratio of the image displayed through it. 3. scaleType used to scale the image throughout the ImageView --> < ImageView android:id = "@+id/imageView" android:layout_width = "fill_parent" android:layout_height = "fill_parent" android:layout_centerInParent = "true" android:adjustViewBounds = "true" android:scaleType = "fitXY" app:srcCompat = "@drawable/gfglogo" tools:ignore = "MissingConstraints" /> </ androidx.constraintlayout.widget.ConstraintLayout > |
Шаг 3: Работа с файлом MainActivity
Перейдите в файл MainActivity и обратитесь к следующему коду. Ниже приведен код файла MainActivity. Комментарии добавляются внутри кода, чтобы понять код более подробно.
Kotlin
import android.graphics.Color import android.graphics.drawable.ColorDrawable import android.os.Bundle import androidx.appcompat.app.AppCompatActivity class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super .onCreate(savedInstanceState) setContentView(R.layout.activity_main) // for changing the background color of title bar val aBar = supportActionBar val cd = ColorDrawable(Color.parseColor( "#FF00FF00" )) aBar?.setBackgroundDrawable(cd) } } |
Java
import android.graphics.Color import android.graphics.drawable.ColorDrawable import android.os.Bundle import androidx.appcompat.app.ActionBar import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); // for changing the background color of title bar ActionBar aBar = getSupportActionBar(); ColorDrawable cd = new ColorDrawable(Color.parseColor( "#FF00FF00" )); if (aBar != null ) { aBar.setBackgroundDrawable(cd); } } } |