手机和平板电脑之间的兼容模式

时间:2012-06-06 01:02:31

标签: android android-layout android-emulator

阅读“屏幕兼容模式”documentation后,我感到很困惑。首先,我创建了两个不同大小的同一图像。其次,我只创建了一个布局。第三,我将150dip设置为我的图像。最后,我在Galaxy SII(高密度)中得到了正确的结果,但是当我模拟Tablet 10“(中等密度)时,我没有正确使用。请参阅两个设备中右边框的距离。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<Button
    android:id="@+id/button1"
    android:layout_width="150dip"
    android:layout_height="150dip"
    android:text="DENSIDADE" />

<ImageView 
    android:id="@+id/image1"
    android:src="@drawable/mode_tapcolor"
    android:layout_width="150dip"
    android:layout_height="150dip" />

</LinearLayout>

Emulator of Tablet 10" Samsung Galaxy SII

我该怎么办?

1 个答案:

答案 0 :(得分:0)

您应该在 res 中创建另一个文件夹 value-xlarge 来存储维度值。所以XML代码应该是:

<强> layout.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<Button
    android:id="@+id/button1"
    android:layout_width="@dimen/default_width"
    android:layout_height="@dimen/default_height"
    android:text="DENSIDADE" />

<ImageView 
    android:id="@+id/image1"
    android:src="@drawable/mode_tapcolor"
    android:layout_width="@dimen/default_width"
    android:layout_height="@dimen/default_height" />

</LinearLayout>

<强>值/ dimens.xml:

<resources>
    <dimen name="default_width">75dip</dimen>
    <dimen name="default_height">75dip</dimen>
</resources>

<强>值-XLARGE / dimens.xml:

<resources>
    <dimen name="default_width">150dip</dimen>
    <dimen name="default_height">150dip</dimen>
</resources>

因此,当安装apk时,它将为正确的设备使用正确的维度值。对于drawable也是如此,如果需要,可以创建drawable-xlarge来存储平板电脑的图像。