布局在同一组屏幕上不同

时间:2014-05-05 08:02:24

标签: android android-layout screen

我正在开发一个针对所有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屏幕截图:android-2.3.4

android 4.1.1

1 个答案:

答案 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>