适合ImageView水平

时间:2011-11-26 06:25:55

标签: android imageview scale

我正在开发一种电子书应用程序,我试图通过以下两种方式显示图像。当屏幕在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 这是景观。保持图像的宽高比并且滚动视图根据需要工作,但我需要使用imageview来拉伸屏幕的宽度

0 个答案:

没有答案