?Текстовый код MainActivity. java и activity_main. xml существуют в нижней части статьи?
Я собираюсь установить изображения с одинаковым соотношением ( 16: 9) для ImageView, но я столкнулся с небольшой проблемой.
Я хочу установить Мой ImageView
Оставить соотношение 16: 9, какое из передаваемых изображений (1920 * 1080)
, если я использую wrap_content
, , остается соотношение данной картинки, но я не могу изменить размер ImageView
.
.
, если я использую фиксированные числа с соотношением 16: 9, например 400dp * 225dp
Я могу изменить желаемый размер и изменить положение по шкале экрана, используя app:layout_constraintHorizontal_bias=
и app:layout_constraintVertical_bias=
Но в других устройствах размер ImageView
слишком мал или слишком большой для его экранного пространства. потому что значение фиксировано
Итак, я хочу установить ImageView
Размер и положение по экранной шкале устройства с оставшимися его соотношение (16: 9) Как я могу это сделать?
Я рассмотрел ряд вопросов, но нашел способ «сопоставить соотношение изображения и изображения», а не «установить» Размер ImageView относительно размера экрана «вызывает у меня плохой поиск.
Есть ли какой-нибудь способ для express следующим образом? это не настоящий код, это просто псевдокод, чтобы легко объяснить, что я действительно хочу сделать.
android:layout_width="wrapcontent * 0.8"
android:layout_height="wrapcontent * 0.8" //<!-- same as "layout_width * 9 / 16 " because ratio of give picture will be always 16 : 9 -->
app:layout_constraintHorizontal_bias=" ((Screen_width - ImageView_width) / 2) / 100 " //<!-- pseudo percentage that to stay in Screen's center -->
app:layout_constraintVertical_bias= "0.3" //<!-- pseudo percentage that to stay in Screen's custom upper part-->
Я прошу прощения за путаницу в вашем объяснении и надеюсь, что у вас мирный день. MainActivity.Код для java и activity_main. xml ниже.
MainActivity. java
package com.example.catexample;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// I Want to Resize and Reposition 'ImageView' by Screen Scale remain its ratio( 16 : 9)
ImageView imageView = findViewById(R.id.kitti_DD);
}
}
activity_main. xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<ImageView
android:id="@+id/kitti_DD"
android:layout_width="400dp"
android:layout_height="225dp"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
app:layout_constraintHorizontal_bias="0.1"
app:layout_constraintVertical_bias="0.3"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/kittisaurus_dd" />
</androidx.constraintlayout.widget.ConstraintLayout>
kittisaurus_dd.jpg
пс. Имя милой кошки, используемое в качестве примера, DD , и он возник из видео 크 집사 , а не 크림 히어로즈.
От всего сердца благодарю вас за чтение длинной статьи! 10