отрегулируйте высоту первого изображения в соответствии со вторым imageview

#android #imageview

#Android #imageview

Вопрос:

     <RelativeLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight=".40"
        android:orientation="vertical" >

        <ImageView
            android:id="@ id/First"
            android:layout_width="match_parent"
            android:layout_height="160px"
            android:layout_centerInParent="true"
            android:padding="5dp" />

        <ImageView

            android:id="@ id/Second"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:background="@drawable/play_small" />
    </RelativeLayout>
 

Я хочу установить высоту первого изображения с помощью id -> First в соответствии со вторым идентификатором изображения -> Second . Я устанавливаю src для второго представления изображения из xml и загружаю первое изображение из какой-либо веб-ссылки.

Ответ №1:

Вы можете использовать LayoutParams для этой задачи. Во-первых, вы должны найти свою вторую ImageView высоту и установить ее на LayoutParams свою первую ImageView .

 LayoutParams params = firstImage.getLayoutParams();
params.height = secondImage.getWidth();
firstImage.setLayoutParams(params);
 

Надеюсь, это вам поможет.

Комментарии:

1. Я попытался получить высоту второго изображения, используя эти два метода ImageView.getLayoutParams().height и ImageView.getHeight(); Первый возвращает -2, а другой возвращает ноль

2. попробуйте установить первую высоту изображения только после загрузки и установки второй.

3. Проблема решена. Я сделал это вот так. imgSecond.getDrawable().getMinimumHeight(); и настройка первого, например LayoutParams params = firstImage.getLayoutParams(); params.setHeight = imgSecond.getDrawable().getMinimumHeight() ; firstImage.setLayoutParams(параметры);

4. Если этот ответ вам поможет, пожалуйста, примите то же самое. 😉