支持多屏幕 - 具有低分辨率支持

时间:2015-08-06 11:10:38

标签: android android-layout

我已经阅读了developer guide&也提到很多SO问题。 但我仍然不确定什么是正确的方法。

我只为平板电脑开发应用程序。

我有以下文件夹,

  • 布局

  • 布局大

  • 布局XLARGE

同样在清单文件中,我已经确定了以下内容,

<supports-screens 
android:largeScreens="true" 
android:anyDensity="true" />

如果屏幕分辨率大于800 * 480 - >申请工作正常

我的问题,

我在中国设备上测试了相同的应用程序,分辨率为503 * 320,

它不能正常工作。

请告诉我如何解决这个问题。谢谢。

更新

高分辨率的平板电脑

enter image description here

低分辨率的平板电脑

enter image description here

home.xml

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

<Button
    android:id="@+id/btn_dine_in"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:background="@color/orange"
    android:paddingBottom="20dp"
    android:paddingLeft="100dp"
    android:paddingRight="100dp"
    android:paddingTop="20dp"
    android:text="@string/dineIn"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="@color/white" />

<Button
    android:id="@+id/btn_delivery"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="40dp"
    android:layout_marginStart="40dp"
    android:layout_marginTop="90dp"
    android:layout_toLeftOf="@+id/textView"
    android:layout_toStartOf="@+id/textView"
    android:background="@color/orange"
    android:padding="20dp"

    android:text="@string/delivery"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="@color/white" />

<Button
    android:id="@+id/btn_collection"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/btn_delivery"
    android:layout_alignParentEnd="true"
    android:layout_alignParentRight="true"
    android:layout_marginRight="40dp"
    android:layout_toEndOf="@+id/textView"
    android:layout_toRightOf="@+id/textView"
    android:background="@color/orange"
    android:padding="20dp"
    android:text="@string/collection"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="@color/white" />

<Button
    android:id="@+id/btn_previous_orders"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignEnd="@+id/btn_delivery"
    android:layout_alignLeft="@+id/btn_delivery"
    android:layout_alignParentBottom="true"
    android:layout_alignRight="@+id/btn_delivery"
    android:layout_alignStart="@+id/btn_delivery"
    android:layout_marginBottom="71dp"
    android:background="@color/orange"
    android:paddingBottom="20dp"
    android:paddingLeft="100dp"
    android:paddingRight="100dp"
    android:paddingTop="20dp"
    android:text="@string/previousOrders"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="@color/white" />

<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"

    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/btn_delivery"
    android:layout_centerHorizontal="true"
    android:text="                  " />

<TextView
    android:id="@+id/textView12"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="10dp"
    android:text="@string/sampleRestaurantName"
    android:textSize="@dimen/restaurantNameFontSize"
    android:textStyle="bold" />

<Button
    android:id="@+id/btnAssignDriver"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignEnd="@+id/btn_collection"
    android:layout_alignRight="@+id/btn_collection"
    android:layout_alignTop="@+id/btn_previous_orders"
    android:layout_toRightOf="@+id/textView"
    android:background="@color/orange"
    android:paddingBottom="20dp"
    android:paddingLeft="100dp"
    android:paddingRight="100dp"

    android:paddingTop="20dp"
    android:text="@string/assignDriver"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="@color/white" />
    </RelativeLayout>

目前所有三个文件夹都包含相同的xml文件..

layout / home.xml标题为正常

&安培; layout-large / home.xml标题是 MyRestaurant

2 个答案:

答案 0 :(得分:1)

自你的应用程序。不支持语言指示。您不必使用endstart包含属性。

如果设备语言方向与您预期的不同,那些将影响布局外观。这是您测试应用程序的语言。 &#34;英语&#34;

删除其中包含endstart字样的所有内容:

android:layout_toEndOf="@+id/textView"
android:layout_marginStart="40dp"

和其他人。这样做并检查结果。

答案 1 :(得分:1)

我相信我刚刚找到它。

设置文本外观时,设备与设备之间的字体大小因设备不同而不同。

android:textAppearance="?android:attr/textAppearanceLarge"

由于previous orders是一个长句,因此它不适合其按钮。因为它的按钮宽度等于delivery按钮宽度。因为左右填充是如此之大100dp,文本留下的空间很小。这就是为什么按钮增加其高度导致高度是包裹内容。