我的应用程序在手机上工作正常,但当我在TAB用户界面上运行它变得太小。但我希望UI的大小相对于设备的大小。我是否需要在清单中添加任何内容。我正在做什么。这是我的XML
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Select The Game Level" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Level1" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="level2" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="level3" />
</LinearLayout>
Handset UI appearence
Tablet UI appearence
答案 0 :(得分:1)
让我们试着在这里探讨你的假设:
您的按钮大小设置为“wrap_content”。这意味着它取决于它包装的文本的大小。
您希望按钮根据显示应用程序的屏幕的可视大小来更改视觉大小。
因此:您基本上希望根据设备的屏幕改变字体大小。
我觉得这不是实现你想要的正确方法。有几个工具可以帮助你,让我们探讨一个:权重属性:What does android:layout_weight mean?
这是一个按钮数组的示例,在任何屏幕上看起来都是类似的(强调在这里是“类似的”。但这是你想要实现的):
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/btnMainMenuTestUSB"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button1" />
<Button
android:id="@+id/btnMainMenuSetLocationNew"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button2" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/btnLineOfSight"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button3" />
<Button
android:id="@+id/btnTargetScreen"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button4" />
</LinearLayout>