我有这个布局:
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="6sp"
android:layout_marginLeft="16sp"
android:layout_marginRight="6sp"
android:layout_marginTop="6sp" >
<TextView android:id="@+android:id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceListItem"
android:inputType="none" />
<TextView android:id="@+android:id/summary"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:layout_below="@android:id/title"
android:maxLines="2"
android:layout_width="wrap_content" />
</RelativeLayout>
<!-- Preference should place its actual preference widget here. -->
<!-- android:id="@android:id/widget_frame" -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginBottom="6sp"
android:layout_marginLeft="6sp"
android:layout_marginRight="6sp"
android:layout_marginTop="10sp"
android:gravity="center_vertical"
android:orientation="horizontal"
android:weightSum="1" >
<SeekBar
android:id="@+id/change_seekbar"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:paddingLeft="20dip"
android:paddingRight="20dip" >
</SeekBar>
<TextView
android:id="@+id/Text_Box_seek"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dip"
android:textSize="16dip" >
</TextView>
</LinearLayout>
我希望搜索栏在内部线性布局中占据宽度的80%,但搜索栏保持非常小...为什么不会占用其余的空间?
答案 0 :(得分:4)
将LinearLayout
的布局宽度更改为match_parent或为其设置特定值。
<强>解释强> 如果使用LinearLayout width = wrap_content,则LinearLayout的宽度将取决于子项 并且您还设置了孩子的体重,因此孩子的宽度将取决于父母 =&GT; (父母的宽度取决于孩子,孩子的宽度取决于父母)然后我认为视图将不知道该怎么做
答案 1 :(得分:1)
尝试在TextView
- Text_Box_seek
<TextView
android:id="@+id/Text_Box_seek"
android:layout_width="0dp"
android:layout_weight="0.2"
android:layout_height="wrap_content"
android:layout_margin="5dip"
android:textSize="16dip" >
</TextView>
为了完美分配重量,您必须根据需要为所有项目分配重量。将其他人设置为wrap_content会让他们占用空间而忽略你给予的重量。
修改强>
同样,Phan Van Linh回答宽度应该匹配_ parent
或任何指定的宽度,以便布局不会因其宽度而对其内容进行加工(这将影响重量分布。
答案 2 :(得分:0)
当你使用方向时:水平..那个时候layout_width应该是0dp android:layout_width =“0dp”
答案 3 :(得分:0)
试试这个,
<!-- Preference should place its actual preference widget here. --><!-- android:id="@android:id/widget_frame" -->
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="6sp"
android:layout_marginLeft="16sp"
android:layout_marginRight="6sp"
android:layout_marginTop="6sp">
<TextView
android:id="@+android:id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="none"
android:textAppearance="?android:attr/textAppearanceListItem" />
<TextView
android:id="@+id/summary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@android:id/title"
android:maxLines="2"
android:textAppearance="?android:attr/textAppearanceSmall" />
</RelativeLayout>
<!-- Preference should place its actual preference widget here. -->
<!-- android:id="@android:id/widget_frame" -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginBottom="6sp"
android:layout_marginLeft="6sp"
android:layout_marginRight="6sp"
android:layout_marginTop="10sp"
android:gravity="center_vertical"
android:orientation="horizontal">
<SeekBar
android:id="@+id/change_seekbar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.3"
android:paddingLeft="20dip"
android:paddingRight="20dip">
</SeekBar>
<TextView
android:id="@+id/Text_Box_seek"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="5dip"
android:layout_weight="0.7"
android:textSize="16dip"></TextView>
</LinearLayout>
</RelativeLayout>
答案 4 :(得分:0)
将LinearLayout的宽度更改为match_parent。
答案 5 :(得分:0)
尝试将线性布局属性设置为android:layout_width="match_parent"
,然后布局权重就可以了。
希望这个答案能帮到你。
答案 6 :(得分:0)
Ani和Shreya Patel都是对的,只需将linear_midth更改为LinearLayout中的match_parent,重量就会有效。