Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android密度独立性_Android - Fatal编程技术网

android密度独立性

android密度独立性,android,Android,我创建了一个具有预基(480x800)密度的布局。自从我开始学习android(9个月)以来,我就一直在使用它,现在是时候在其他手机上测试我的应用了。我在三部分辨率为480x800的手机上进行了测试,结果很好,直到在一部分辨率为320x480和240x320的手机上进行了测试。我已经使用px-s作为宽度和高度,填充等无处不在。 我在emulator中检查了应用程序(为不同的分辨率创建了不同的avd-s),但我看不到整个布局,因为它比屏幕大(仅在eclipse中测试)。它有4个带有“包裹内容”宽度

我创建了一个具有预基(480x800)密度的布局。自从我开始学习android(9个月)以来,我就一直在使用它,现在是时候在其他手机上测试我的应用了。我在三部分辨率为480x800的手机上进行了测试,结果很好,直到在一部分辨率为320x480和240x320的手机上进行了测试。我已经使用px-s作为宽度和高度,填充等无处不在。 我在emulator中检查了应用程序(为不同的分辨率创建了不同的avd-s),但我看不到整个布局,因为它比屏幕大(仅在eclipse中测试)。它有4个带有“包裹内容”宽度和高度设置的图像。 所以我查看了android文档。我没有创建其他布局或其他任何东西,但用dp-s替换了px-s。是一样的。 我创建了分辨率为190x60px的较小按钮(见下文),并将它们放入ldpi文件夹中,但并没有大的进步。可能是因为TextView的文本大小相同,在分辨率为240x320的情况下,2个TextView占据了显示位置的1/3(而在分辨率为480x800的情况下,仅占1/6)。(因此,与大分辨率相比,小分辨率下的文本看起来很大) 请告诉我应该怎么做才能使布局看起来像480x800一样,分辨率为320x480

gradientbg的大小:这是形状的.xml文件,因此没有物理大小。 按钮大小(图像):380x150px hdpi(或ldpi文件夹中的190x60px)


当您通常以dp单位定义布局时,请确保布局在同一密度桶中的设备上保持不变。但是,当你在平板电脑(xlarge)或小屏幕上试用时,它无法正确缩放。此工具可使您的应用程序与所有设备(小型/普通/大型/xlarge)配合使用。它根据最初设计的基线密度缩放布局xml文件


为不同的尺寸创建不同的布局。你可以看看这个问题:像素密度和屏幕大小是完全不同的。如果你把资源放在ldpi文件夹中,它们不一定会在小屏幕上使用;为此,您需要将它们放在小文件夹中。有关更多信息,请参见主题。确定。哪一种做法更好?创建不同尺寸的按钮(图像)或将宽度和高度设置为成比例(例如hdpi为380dp,ldpi为190dp)大小是否足够(正确)。最后一个比较简单,也很有效,但我很好奇。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/gradientbg"
    >
    <TextView 
        android:id="@+id/TextView00"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#E30000"
        android:textColor="#FFFFFF"
        android:gravity="center_horizontal|center_vertical"
        android:textSize="26dp"
        android:height="40dp"
        android:textStyle="bold"
        android:text="Main menu"
    />
    <TextView  
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="App"
        android:textSize="30dp"
        android:textStyle="bold"
        android:paddingTop="20dp"
        android:layout_gravity="center_horizontal"
        android:textColor="#FFB300"
    />
    <Button android:id="@+id/btn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
            android:background="@drawable/mainbutton_1"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="20dip"
    />
    <Button android:id="@+id/btn2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/mainbutton_2"
        android:layout_gravity="center_horizontal"
        android:paddingTop="5dp"
    />
    <Button android:id="@+id/btn3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
                android:background="@drawable/mainbutton_3"
        android:layout_gravity="center_horizontal"
        android:paddingTop="5dp"
    />
    <Button android:id="@+id/btn4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
                android:background="@drawable/mainbutton_4"
        android:layout_gravity="center_horizontal"
        android:paddingTop="5dp"
    />

</LinearLayout>