我有一个设计,我想将视图正确地放入这些“部分”:
红色区域是空的 其他“区域”应居中,绿色为ImageView,另外两个为TextView。
为了实现这一点,来自这个网站的人告诉我应该使用layout_weight ..如何计算正确的百分比?
我做的是:在红色边填充,并根据左侧空间计算其余部分..但视图不正确..我试过的xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:orientation="horizontal"
android:layout_height="wrap_content" android:paddingTop="10dip" android:paddingBottom="10dip">
<TextView android:id="@+id/Start_Numbering" android:textSize="19.5dip"
android:layout_width="0dp" android:layout_height="wrap_content"
android:layout_weight="0.4"
android:gravity="center"
/>
<ImageView android:id="@+id/Start_ImageView"
android:layout_weight="0.11" android:layout_height="wrap_content"
android:layout_width="0dp" android:src="@drawable/quran_list_noaudioavailable"
android:gravity="center"
></ImageView>
<TextView android:id="@+id/Start_Name" android:textColor="#a7e9fe"
android:textSize="21dip" android:layout_width="0dp"
android:layout_weight="0.6"
android:gravity="center"
android:layout_height="wrap_content" />
</LinearLayout>
答案 0 :(得分:4)
layout_weight
使用分数来确定子项的大小:
child_space = child_weight / total_weight
其中total_weight是父布局中所有子项的权重总和。
E.g。如果你想要3个视图,两个填充25%的宽度,一个填充50%,分配1到前两个,2到第二个。这导致两者中每一个的空间为1/4(= 25%),第三个为2/4(= 50%)。
(您也可以使用前两个的任何其他数字,并将第三个视图的第一个重量加倍,这将取消上述分数)
您也可以像上面那样给出低于1的数字。只要总和为1,这些就被解释为百分比(例如0.42 = 42%)。
答案 1 :(得分:0)
尝试为左边的填充值赋值1,并使其他的倍数。 (即1,3,1,5,1)