使用权重设计顺应不同屏幕尺寸UI

使用权重设计适应不同屏幕尺寸UI
不同于iphone、为了适应不同屏幕大小的android手机、开发过程中应该尽量避免出现具体的像素的大小、使用权重能更好的兼容不同的手机、


用一个简单的例子来说明:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_weight="10"
android:background="@drawable/bg">

<LinearLayout android:layout_width="fill_parent"
android:layout_height="0dp" android:orientation="horizontal"
android:layout_weight="1">
<EditText android:layout_height="wrap_content"
android:layout_width="0dp" android:layout_weight="3" android:id="@+id/name"
android:focusable="false" />
<Button android:layout_height="wrap_content"
android:layout_width="0dp" android:layout_weight="1" android:text="找人"
android:id="@+id/find" />
</LinearLayout>

<LinearLayout android:layout_width="fill_parent"
android:layout_height="0dp" android:layout_weight="8">
<EditText android:layout_width="fill_parent"
android:layout_height="fill_parent" android:id="@+id/message"
android:gravity="top" />
</LinearLayout>

<LinearLayout android:layout_width="fill_parent"
android:layout_height="0dp" android:layout_weight="1"
android:orientation="horizontal">
<Button android:layout_width="0dp" android:layout_height="fill_parent"
android:layout_weight="1" android:text="顿号" android:id="@+id/mark" />
<Button android:layout_width="0dp" android:layout_height="fill_parent"
android:layout_weight="1" android:text="回退" android:id="@+id/back" />
<Button android:layout_width="0dp" android:layout_height="fill_parent"
android:layout_weight="1" android:text="发送" android:id="@+id/send" />
</LinearLayout>

</LinearLayout>



当存在竖直方向和水平方向都需要使用权重时、

参考一下简易代码,只有四个按钮而已:



<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent" android:layout_width="fill_parent"
android:orientation="vertical" android:layout_weight="100">
<LinearLayout android:layout_height="0dp"
android:layout_width="fill_parent" android:orientation="horizontal"
android:layout_weight="50">
<Button android:layout_height="fill_parent"
android:layout_width="0dp" android:layout_weight="1" />
<Button android:layout_height="fill_parent"
android:layout_width="0dp" android:layout_weight="1" />
</LinearLayout>

<LinearLayout android:layout_height="0dp"
android:layout_width="fill_parent" android:orientation="horizontal"
android:layout_weight="50">
<Button android:layout_height="fill_parent"
android:layout_width="0dp" android:layout_weight="1" />
<Button android:layout_height="fill_parent"
android:layout_width="0dp" android:layout_weight="1" />
</LinearLayout>
</LinearLayout>


第一段代码是一个简易的短信发送器界面、可以读取联系人信息、发送短信、截图如下:
使用权重设计顺应不同屏幕尺寸UI

完整代码见附件、N多问题没处理、只是个demo.