Android Как получить высоту, равную ширине компонента - PullRequest
0 голосов
/ 26 сентября 2019

Я хочу, чтобы высота ImageView была равна его ширине.Я уже читал кое-что об использовании "app: ..." в activity.xml.Но он говорит, что не может найти пространство имен.После этого я просто нашел код, который не работал для меня.

У кого-нибудь есть идеи или предложения, чтобы решить эту проблему?Если это должно быть сделано программно, и было бы хорошо, если бы есть пример для этого с использованием Kotlin.

Ответы [ 2 ]

0 голосов
/ 26 сентября 2019

Вы должны использовать это привычное представление внутри вашего XML-файла.

Пример

<YourPackageName.SquareImageView
    android:id="@+id/squareImageview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:src="@drawable/ic_launcher_background"/>

Теперь вам нужно привязать это представление в своем коде.Как фрагмент или активность, что вы использовали.

Exmple (Это код в Java, вы можете изменить его в kotlin): -

SquareImageView imageView = findViewById (R.id. SquareImageview);

0 голосов
/ 26 сентября 2019

Если вы хотите, чтобы высота ImageView была равна его ширине,

Программно [Динамический способ]:

int widthOfImage = image_view.getLayoutParams().width;
image_view.getLayoutParams().height = widthOfImage ;

см. этот ответ

вы можете сделать это жестко запрограммированным способом:

  <ImageView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:src="@drawable/ic_launcher_background"/>

или вы можете определить фон следующим образом image_background.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#003778" />
<corners android:radius="6dp" />
<size android:width="100dp"
    android:height="100dp"/>
</shape>

и добавьте его в качестве фона в imageView.[помните, что это также жестко закодировано]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...