好! 我现在正在开发Android应用程序,但我想知道如何将所有布局设置放到多个设备屏幕上。
* 我确实创建了多个屏幕文件夹。
RES /布局小/ main.xml中
RES /布局正常/ main.xml中
RES /布局大/ main.xml中
RES /布局XLARGE / main.xml中
* 以下是我的代码示例。
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:layout_width="120dp"
android:layout_height="70dp"
android:text="@sting/button1" >
<Button
android:layout_width="120dp"
android:layout_height="70dp"
android:text="@sting/button2" >
<Button
android:layout_width="120dp"
android:layout_height="70dp"
android:text="@sting/button3" >
<Button
android:layout_width="120dp"
android:layout_height="70dp"
android:text="@sting/button3" >
</LinearLayout>
</LinearLayout>
正如您所看到的,我为每个按钮使用了120dp。 当我在虚拟设备机器中运行时,屏幕很合适。 (因为我在虚拟设备机器中使用了480dp宽屏幕。) 然而,当我运行真正的手机设备(我的:SamSung Galaxy Note 1(韩国版),我父亲的:SamSung Galaxy S2(韩国版)和我妈妈的:SamSung Galaxy S(加拿大版)),尽管我创造了不同屏幕大小的文件夹,我可以看到按钮的(宽度)离设备的屏幕布局太远了。 任何人都可以告诉我如何适应所有设备屏幕? 在这种情况下我还能使用dp吗? (请给我一个例子!)
答案 0 :(得分:0)
您需要阅读使用LinearLayout
和RelativeLayout
(以及其他布局)。你根本没有使用他们的布局参数。您不需要指定任何特定大小(如120dp)来支持您的情况下的多种屏幕尺寸。
http://developer.android.com/guide/topics/ui/declaring-layout.html
这是你应该做的:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="4">
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@sting/button1"
android:layout_weight="1" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@sting/button2"
android:layout_weight="1" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@sting/button3"
android:layout_weight="1" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@sting/button4"
android:layout_weight="1" />
</LinearLayout>