Установка ImageView по горизонтали - PullRequest
3 голосов
/ 26 ноября 2011

Я занимаюсь разработкой своего рода приложения для электронных книг и пытаюсь отобразить изображение следующими двумя способами.Когда экран в portrait, у меня есть изображение по горизонтали и по центру.Когда экран находится в landscape, я хочу, чтобы изображение заполняло экран горизонтально с сохранением соотношения сторон.Поскольку изображения, которые я использую, длиннее их ширины, у меня есть ScrollView, чтобы разрешить просмотр всего изображения.

Как мне масштабировать ImageView, чтобы добиться этого?Я знаю, что FIT_CENTER приближается к тому, что я хочу сделать, но, поскольку изображение уже, чем оно высокое, оно не заполняет ширину.Я попытался FIT_XY с setAdjustViewBounds, установленным в true, но это все еще не поддерживает мое соотношение сторон.У кого-нибудь есть идеи?

Вот мой код:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent" 
            android:isScrollContainer="true"
            android:layout_height="wrap_content" 
            android:scrollbars="vertical"
            android:layout_gravity="center_vertical|clip_horizontal"
            android:scrollbarAlwaysDrawVerticalTrack="true" 
            android:id="@+id/Root">
<ScrollView android:id="@+id/ScrollView01" 
            android:tag="scroller"
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical|clip_horizontal">
<ImageView  android:scaleType="fitCenter" 
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content" 
            android:id="@+id/imgView" 
            android:adjustViewBounds="true"></ImageView>
</ScrollView>
</LinearLayout>

http://i.stack.imgur.com/9J8IW.png Это на портрете.Это именно то, что я хочу.Изображение соответствует ширине экрана и соотношение сторон сохраняется.

http://i.stack.imgur.com/Kw68o.png Это в альбомной ориентации.Соотношение сторон изображения сохраняется, и вид прокрутки работает по мере необходимости, но мне нужен просмотр изображения, чтобы растянуть ширину экрана

...