我已经阅读了有关支持不同屏幕密度的所有内容。而且,我已将显示的图像的适当变体提供给适当的文件夹。然而,我对某事感到困惑。ImageView 的文档说将 android:layout_width 和 android:layout_height 设置为 "fill_parent"/"match_parent" 将导致图像拉伸以填充屏幕。(这似乎是必要的,因为并非所有屏幕密度都提供相同大小/像素数的屏幕,我不希望那些额外的几个像素导致屏幕底部出现填充)这似乎在其他任何时候都有效,但不起作用对我来说,当 ImageView 放置在 Horizontalscrollview 内部并且图像的宽度比屏幕的宽度长时。
我的代码如下:(活动在我的清单中设置为横向)
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/hscrollview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="0dp"
android:fadingEdge="none"
android:scrollbars="none"
android:overScrollMode="never" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="0dp"
android:fadingEdge="none"
android:scrollbars="none"
android:overScrollMode="never" >
<ImageView
android:id="@+id/MapImageView"
android:src="@drawable/map"
android:layout_width="wrap_content"
android:layout_height="fill_parent" />
</RelativeLayout>
</HorizontalScrollView>
编辑:我将 :src 替换为 :background 无效。
这是我在平板电脑等设备上获得的效果。理想情况下,我希望图像填满整个屏幕,就像下面那样,在具有典型 480x800 分辨率等的手机上。