我正在开发一个针对所有Android版本的所有屏幕的UI。 现在,我正在测试两个设备,sony experia Neo v有规格: 480 x 854像素,3.7英寸(~265 ppi像素密度)Android OS-2.3.4 , 和其他设备HTC Desire X双卡有规格: 480 x 800像素,4.0英寸(~233 ppi像素密度)Android Os-4.1.1 。
这里的问题是,根据我的理解,该设备都是正常的屏幕和hdpi, 他们都是从同一个布局文件夹中挑选,但UI在这个设备上都有很大不同。 HTC正在按预期呈现,但索尼Experia上的UI是一场灾难。 我面临的主要问题是eclipse预览屏幕中的UI外观与HTC相同,但索尼实验似乎并不能很好地呈现它。
其他一点,我注意到当我运行带有配置的模拟器时: 3.7 FWVGA 480 * 854:hdpi android-2.3.4,与索尼Experia配置完全相同,也渲染完全像sony experia, 但是一旦我将emuator编辑为andrdoid 4.1.1 3.7 FWVGA 480 * 854:hdpi它会按预期开始显示。 所以,我在这里有点困惑,Ui显示器也依赖于Android Os版本吗?
以下是我的布局代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/linear_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="3"
android:gravity="center" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="3"
android:gravity="center"
android:baselineAligned="false">
<FrameLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginTop="4dp"
android:layout_marginBottom="8dp">
<Button
android:id="@+id/availbtn"
android:layout_width="102dp"
android:layout_height="33dip"
android:background="@drawable/badge_button_selected"
android:text="Available"
android:layout_marginTop="13dp"
android:textColor="#000000"
android:textAppearance="@android:style/TextAppearance.Small"/>
<TextView
android:id="@+id/txt_avail_coupon_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="2dp"
android:layout_gravity="top|right"
android:background="@drawable/badge_circle_selected"
android:text="07"
android:textColor="#FFF"
android:textSize="12sp"
android:textStyle="bold" />
</FrameLayout>
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginTop="4dp"
android:layout_marginBottom="8dp" >
<Button
android:id="@+id/usedbtn"
android:layout_width="102dp"
android:layout_height="33dip"
android:background="@drawable/badge_button_nselected"
android:text="Used"
android:textAppearance="@android:style/TextAppearance.Small"
android:layout_marginTop="13dp"
android:textColor="#000000" />
<TextView
android:id="@+id/txt_used_coupon_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="2dp"
android:layout_gravity="top|right"
android:background="@drawable/badge_circle_nselected"
android:text="10"
android:textColor="#FFF"
android:textSize="12sp"
android:textStyle="bold" />
</FrameLayout>
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginTop="4dp"
android:layout_marginBottom="8dp">
<Button
android:id="@+id/expirebtn"
android:layout_width="102dp"
android:layout_height="33dip"
android:background="@drawable/badge_button_nselected"
android:text="Expired"
android:textAppearance="@android:style/TextAppearance.Small"
android:layout_marginTop="13dp"
android:textColor="#000000" />
<TextView
android:id="@+id/txt_expired_coupon_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="2dp"
android:layout_gravity="top|right"
android:background="@drawable/badge_circle_nselected"
android:text="01"
android:textColor="#FFF"
android:textSize="12sp"
android:textStyle="bold" />
</FrameLayout>
</LinearLayout>
</LinearLayout>
<View
android:id="@+id/divider"
android:layout_width="fill_parent"
android:layout_height="5dip"
android:layout_below="@+id/linear_button"
android:background="@android:color/darker_gray" />
<ListView
android:id="@+id/coupons_listview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/divider" >
</ListView>
</RelativeLayout>
以下是适用于android-2.3.4的3.7 FWVGA 480 * 854:hdpi和Android 4.1.1上的3.7 FWVGA 480 * 854:hdpi的UI屏幕截图:
答案 0 :(得分:0)
// try this way,hope this will help you...
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/linear_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginTop="4dp"
android:layout_marginBottom="8dp">
<Button
android:id="@+id/availbtn"
android:layout_width="102dp"
android:layout_height="33dp"
android:background="@drawable/badge_button_selected"
android:text="Available"
android:layout_marginTop="13dp"
android:textColor="#000000"
android:textAppearance="@android:style/TextAppearance.Small"/>
<TextView
android:id="@+id/txt_avail_coupon_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="2dp"
android:layout_gravity="top|right"
android:background="@drawable/badge_circle_selected"
android:text="07"
android:textColor="#FFF"
android:textSize="12sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginTop="4dp"
android:layout_marginBottom="8dp" >
<Button
android:id="@+id/usedbtn"
android:layout_width="102dp"
android:layout_height="33dp"
android:background="@drawable/badge_button_nselected"
android:text="Used"
android:textAppearance="@android:style/TextAppearance.Small"
android:layout_marginTop="13dp"
android:textColor="#000000" />
<TextView
android:id="@+id/txt_used_coupon_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="2dp"
android:layout_gravity="top|right"
android:background="@drawable/badge_circle_nselected"
android:text="10"
android:textColor="#FFF"
android:textSize="12sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginTop="4dp"
android:layout_marginBottom="8dp">
<Button
android:id="@+id/expirebtn"
android:layout_width="102dp"
android:layout_height="33dp"
android:background="@drawable/badge_button_nselected"
android:text="Expired"
android:textAppearance="@android:style/TextAppearance.Small"
android:layout_marginTop="13dp"
android:textColor="#000000" />
<TextView
android:id="@+id/txt_expired_coupon_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="2dp"
android:layout_gravity="top|right"
android:background="@drawable/badge_circle_nselected"
android:text="01"
android:textColor="#FFF"
android:textSize="12sp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
<View
android:id="@+id/divider"
android:layout_width="match_parent"
android:layout_height="5dp"
android:background="@android:color/darker_gray" />
<ListView
android:id="@+id/coupons_listview"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
</ListView>
</LinearLayout>