0

我的图像高度约为 2000dp。我想在 ImageView 中显示它,它可以滚动到它的高度。我写了以下 xml 文件,它在设备上运行良好,但在 HTC one X、三星 Galaxy S4 等设备上运行良好,我认为这是大屏幕移动设备的问题,谁能帮帮我。我会非常感谢他/她。

<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="2000dp"
    android:layout_below="@+id/total"
    android:scrollbars="vertical" >

    <FrameLayout
        android:id="@+id/relativeLayout"
        android:layout_width="fill_parent"
        android:layout_height="2000dp" >

        <RelativeLayout
            android:id="@+id/upperRelativeLayout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >
        </RelativeLayout>

        <ImageView
            android:id="@+id/image1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scaleType="fitXY"
            android:src="@drawable/dayview_bg" />

        <ImageView
            android:id="@+id/image2"
            android:layout_width="fill_parent"
            android:layout_height="2dp"
            android:background="@android:color/white"
            android:scaleType="fitXY" />
    </FrameLayout>
</ScrollView>
4

1 回答 1

-1

您应该尝试将图像缩小到 1) 匹配设备屏幕尺寸和 2) 避免内存问题,2000dp 高于现有标准设备的常规尺寸。

您可以按照文档根据目标设备定义不同的布局:

  • res/layout/my_layout.xml // 正常屏幕尺寸的布局(“默认”)
  • res/layout-small/my_layout.xml // 小屏幕布局
  • res/layout-large/my_layout.xml // 大屏幕布局
  • res/layout-xlarge/my_layout.xml // 超大屏幕的布局
  • res/layout-xlarge-land/my_layout.xml // 横向超大布局

配置示例

为了帮助您针对不同类型的设备进行一些设计,以下是典型屏幕宽度的一些数字:

  • 320dp:典型的手机屏幕(240x320 ldpi、320x480 mdpi、480x800 hdpi 等)。
  • 480dp:像 Streak (480x800 mdpi) 这样的补间平板电脑。
  • 600dp:7 英寸平板电脑 (600x1024 mdpi)。
  • 720dp:10 英寸平板电脑(720x1280 mdpi、800x1280 mdpi 等)。

如果您不想缩小整个图像,BitmapRegionDecoder 类可以帮助您(可以在这篇文章中找到使用案例)

于 2013-10-01T18:17:31.160 回答