ImageView - как заставить равномерно масштабировать ширину, определив высоту - PullRequest
0 голосов
/ 15 марта 2012

Я определил два ImageViews и установил фон следующим образом:

  int tmpID = findViewById(R.id.mypng)
  ImageView   tmpIV.setBackgroundResource(tmpID);

А это XML с изображениями:

<RelativeLayout
        android:id="@+id/myDisplay"
        android:layout_width="wrap_content"
        android:layout_height="100dp"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="0dp" >

        <ImageView
            android:id="@+id/b1"
            android:layout_width="300dp"
            android:layout_height="match_parent"
            android:contentDescription="@string/anyStringValue"
            android:scaleType="fitCenter" />

        <ImageView
            android:id="@+id/b2"
            android:layout_width="300dp"
            android:layout_height="match_parent"
            android:layout_toRightOf="@+id/b1"
            android:contentDescription="@string/anyStringValue"
            android:scaleType="fitCenter" />

Теперь все, что должно произойти, это то, что, когда я устанавливаю фон изображений, png равномерно подгоняет свой размер к высоте родителей 100dp, в то время как ширина должна масштабироваться равномерно - вниз или вверх.

Я попытался установить ширину все меньше и больше. Когда он установлен, например, на 300 dp, он растягивает ширину png до 300 и высоту 100, в то время как он должен только растягивать свою ширину настолько, чтобы высота достигала 100.

Я думал, что "FitCenter" сделает это. Я также попробовал все остальные значения атрибутов, но без удачи.

Спасибо!

1 Ответ

1 голос
/ 16 марта 2012

android:scaleType позаботьтесь только о android:src, почему вы не используете этот параметр ?? Вы действительно хотите использовать фон и не устанавливать источник?

Возможно, у yoy может быть один RelativeLayout с двумя ImageView для каждого imageView, один с "масштабированным фоном" и der с реальным источником.

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