以下是我的xml:
<RelativeLayout android:id="@+id/RelativeLayout01"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:orientation="horizontal"
android:layout_height="fill_parent">
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" >
<EditText android:id="@+id/edit_message"
android:layout_weight="5"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:hint="@string/edit_message" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_search"
android:onClick="searchUsingTag" />
</LinearLayout>
</RelativeLayout>
但这不是我想要的。我想要像谷歌搜索这样的东西。有一个很长的编辑框,然后是一个小按钮。
答案 0 :(得分:0)
如果您想使用 LinearLayout 中的layout_weight
属性,则必须将此布局设置为与其父级匹配:
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true" >
...
然后你可以尝试使用重量,为孩子设置不同的尺寸。 另外:你必须在每个子节点上设置一个权重,在你的例子中,按下父节点之外的按钮,因为按钮没有设置权重。
答案 1 :(得分:0)
更改线性布局的宽度以填充父级并尝试权重,直到获得所需的效果。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/RelativeLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:weightSum="5" >
<EditText
android:id="@+id/edit_message"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="4" />
<Button
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="searchUsingTag"
android:text="@string/button_search" />
</LinearLayout>
</RelativeLayout>
答案 2 :(得分:0)
正如我在评论中所说,你需要设置:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/RelativeLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/LinearLayout02"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:weightSum="5" >
<EditText
android:id="@+id/edit_message"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="4" />
</LinearLayout>
<LinearLayout
android:id="@+id/LinearLayout03"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:weightSum="5" >
<Button
android:id="@+id/Button01"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="searchUsingTag"
android:text="@string/button_search" />
</LinearLayout>
</RelativeLayout>
每个元素分为不同的布局。还要记得添加所有 IDS (您忘记添加按钮ID)并将EditText
宽度设置为fill_parent
,然后获得EditText
之类的“Google”搜索字段或设置自己的大小。
<强> SUGGEST 强>
就个人而言,我更倾向于使用LinearLayout
作为主要布局来使用RelativeLayout
。这是仅一个建议。如果您更喜欢它,请不要介意。