android正常布局屏幕不适用于所有普通屏幕

时间:2014-04-23 10:39:23

标签: android layout screen between difference

我在布局文件夹中创建了android布局我的设备英寸是3.2到5英寸,它位于普通屏幕下,仅针对此设备,但我的布局在3.2和4英寸之间相互不同。

4 个答案:

答案 0 :(得分:0)

您可以在java中获取有问题的屏幕尺寸并进行检查

答案 1 :(得分:0)

遵循:Supporting multiple screen size - Android

定义你的维度值

res/values-sw600dp/dimen.xml -> 7+ inches
res/values-sw720dp/dimen.xml -> 10+ inches
values-w360dp
values-w500dp
values-w480dp
values-xlarge
values-v11
values-v14

Sherlock Bar检查那里

答案 2 :(得分:0)

res/layout/my_layout.xml             // layout for normal screen size ("default")
res/layout-small/my_layout.xml       // layout for small screen size
res/layout-large/my_layout.xml       // layout for large screen size
res/layout-xlarge/my_layout.xml      // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation

res/drawable-mdpi/my_icon.png        // bitmap for medium density
res/drawable-hdpi/my_icon.png        // bitmap for high density
res/drawable-xhdpi/my_icon.png       // bitmap for extra high density

答案 3 :(得分:0)

您需要为该

创建不同的文件夹

例如

布局文件夹/ main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background"
android:orientation="vertical" >

<Button
    android:id="@+id/rate"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="Rate us"
    android:textColor="@color/black_font" />

</RelativeLayout>

<强>布局大/ main.xml中

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background"
android:orientation="vertical" >

<Button
    android:id="@+id/rate"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="Rate us"
    android:textColor="@color/black_font"
    android:textSize="30sp" />

</RelativeLayout>

<强>布局XLARGE / main.xml中

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background"
android:orientation="vertical" >

<Button
    android:id="@+id/rate"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="Rate us"
    android:textColor="@color/black_font"
    android:textSize="60sp" />

</RelativeLayout>

有关详细信息,请参阅this link

对于您的问题,您需要通过密度

创建它
  1. ldpi低密度(ldpi)屏幕的资源(~120dpi)。
  2. mdpi中密度(mdpi)屏幕(~160dpi)的资源。 (这是基线密度。)
  3. hdpi用于高密度(hdpi)屏幕的资源(~240dpi)。
  4. xhdpi超高密度(xhdpi)屏幕(~320dpi)的资源。
  5. nodpi所有密度的资源。这些是与密度无关的资源。无论当前屏幕的密度如何,系统都不会扩展使用此限定符标记的资源。
  6. tvdpi mdpi和hdpi之间的屏幕资源;大约213dpi。这不被视为&#34;主要&#34;密度组。它主要用于电视,大多数应用程序都不需要它 - 提供mdpi和hdpi资源就足够了大多数应用程序,系统会根据需要进行扩展。如果您发现有必要提供tvdpi资源,则应将其大小设置为1.33 * mdpi。例如,mdpi屏幕的100px x 100px图像对于tvdpi应为133px x 133px。