Android百分比(权重)未给出预期结果

时间:2013-12-31 19:44:00

标签: c# android xaml percentage

我正在设计一个Android界面,我发现我可以将控件的百分比设为Weight

但是当我使用以下代码时:

 <LinearLayout
    android:orientation="vertical"
    android:minWidth="25px"
    android:minHeight="25px"
    android:layout_width="match_parent"
    android:layout_height="310.1dp"
    android:layout_weight=".70"
    android:id="@+id/linearLayout1"
    android:background="#C49268">
    <ImageView
        android:src="@android:drawable/ic_menu_gallery"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/imageView1" />
</LinearLayout>
<RelativeLayout
    android:minWidth="25px"
    android:minHeight="25px"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight=".30"
    android:layout_gravity="bottom"
    android:id="@+id/relativeLayout1">

第一个布局占据了网页的70%:android:layout_weight=".70"

第二种布局占据了页面的30%:android:layout_weight=".30"和底部重力。所以它应该使用整个页面。 (100%)。

我从中理解的是,RelativeLayout应该占据底部空间的30%,而LinearLayout应该占据顶部空间的70%,总共占据屏幕的100%。

当我启动应用程序时,我仍然看到底部有一个黑条(未使用的空间)。我做错了吗?

3 个答案:

答案 0 :(得分:2)

关于layout_weight要记住的主要事情是它分配了REMAINING空间。因此,如果要正确分配内容,则应将任何尺寸(高度或宽度)设置为“0dp”。

在您的情况下,您应该为两个布局设置layout_height0dp

答案 1 :(得分:0)

尝试将两种布局的布局高度更改为0dp,它应该可以正常工作

答案 2 :(得分:-2)

更改layout_width="fill_parent"并为其指定背景色。这将解决您的问题。