关于大小和layout_weight的相关性以及控制的dpi

时间:2012-07-05 09:44:30

标签: android size

我有.xml文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">

<LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/llo_tool"
    android:orientation="horizontal"
    android:background="@android:color/white"
    android:layout_weight="7">

    <Button
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="4"
        android:padding="0dp"
        android:layout_margin="0dp"
        android:id="@+id/btn_menu"
        android:text="Menu"/>

    <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:orientation="horizontal">
        <FrameLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:orientation="horizontal">
            <LinearLayout 
                android:layout_width="fill_parent"
                android:layout_height="fill_parent">
                <Button 
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_weight="1"
                    android:text="Local"
                    android:id="@+id/btn_1"/>
                <Button 
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_weight="1"
                    android:text="MyStore"
                    android:id="@+id/btn_2"/>
                <Button
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_weight="1"
                    android:text="Cloud"
                    android:id="@+id/btn_3"/>
            </LinearLayout>
            <LinearLayout 
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:background="@android:color/white"
                android:id="@+id/llo_sub_tool"
                android:visibility="gone">
                <EditText 
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:maxLines="1"
                    android:id="@+id/edt_search"/>
            </LinearLayout>
        </FrameLayout>
        <Button 
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="3"
            android:text="Menu"
            android:id="@+id/btn_end"/>
    </LinearLayout>
</LinearLayout>

<LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:background="#AABBCCDD">
    <ListView 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/lvw_danhsach">

    </ListView>
</LinearLayout>

在我看来,5个按钮[btn_menu,btn_1,btn_2,btn_3,btn_end]与此代码的大小相同。但是当我在LG_L5上测试(有dpi 160)有宽度屏幕:320所以我的btn_menu宽度必须是64,实际上它的宽度是87 @。@和SAMSUNG GTS5360(有dpi 120),宽度是240和宽度是57.任何人都可以向我解释为什么控制宽度有差异并修复它?

谢谢大家的帮助!

0 个答案:

没有答案