在我的Android应用程序中,我有一个显示以下大小的图像的活动:244 x 330
。
我想在整个设备宽度上显示这些图像。
我的布局文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ImageView android:id="@+id/news_image"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_marginLeft="18dip"
android:layout_marginRight="18dip"
android:background="#aaaaaa" />
</LinearLayout>
</ScrollView>
我试图设置ImageView的ScaleType,但是没有一个ScalingType可以使ImageView按比例缩放。如何按比例缩放图像以适应横向模式和纵向模式下的整个屏幕?
基本上我想要的是类似于ScaleType.CENTER_CROP,但也设置了图像的比例高度,这样我就可以看到所有的图像而不仅仅是部分图像。
编辑原因是我知道我的问题有点让你困惑。
我想用一张图片向您展示。这是我目前在布局中得到的。我想通过尽可能大地缩放图像来填充整个灰色区域。我该怎么做?
ScaleType
设置为CENTER_CROP
时,我会得到这个结果。
但这并不是我想要的,因为你只能看到中心的一部分图像。
而我想要的是:
编辑2:
可能看起来有些奇怪和令人困惑,因为我试图显示一个比屏幕尺寸更高的图像,但由于在我的示例布局中使用了ScrollView,所以这应该没问题,用户可以滚动以查看未显示的区域。
希望这能帮助你理解我想要做的事情。
Point size = new Point(); getWindowManager().getDefaultDisplay().getSize(size); int displayWidth = size.x;
- ban-geoengineering