我已经阅读了developer guide&也提到很多SO问题。 但我仍然不确定什么是正确的方法。
我只为平板电脑开发应用程序。
我有以下文件夹,
布局
布局大
布局XLARGE
同样在清单文件中,我已经确定了以下内容,
<supports-screens
android:largeScreens="true"
android:anyDensity="true" />
如果屏幕分辨率大于800 * 480 - >申请工作正常
我的问题,
我在中国设备上测试了相同的应用程序,分辨率为503 * 320,
它不能正常工作。
请告诉我如何解决这个问题。谢谢。
更新
高分辨率的平板电脑
低分辨率的平板电脑
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
答案 0 :(得分:1)
自你的应用程序。不支持语言指示。您不必使用end
和start
包含属性。
如果设备语言方向与您预期的不同,那些将影响布局外观。这是您测试应用程序的语言。 &#34;英语&#34;
删除其中包含end
和start
字样的所有内容:
android:layout_toEndOf="@+id/textView"
android:layout_marginStart="40dp"
和其他人。这样做并检查结果。
答案 1 :(得分:1)
我相信我刚刚找到它。
设置文本外观时,设备与设备之间的字体大小因设备不同而不同。
android:textAppearance="?android:attr/textAppearanceLarge"
由于previous orders
是一个长句,因此它不适合其按钮。因为它的按钮宽度等于delivery
按钮宽度。因为左右填充是如此之大100dp,文本留下的空间很小。这就是为什么按钮增加其高度导致高度是包裹内容。