0

以下是我的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>

但这并不是我想要的。我想要谷歌搜索之类的东西。有一个长的编辑框,然后是一个小按钮。

在此处输入图像描述

4

3 回答 3

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”的搜索字段或设置您自己的大小。

建议

就个人而言,我更喜欢使用LinearLayout作为主要布局而不是使用RelativeLayout. 这只是一个建议。如果你喜欢它相对,没关系。

于 2013-05-07T15:22:36.317 回答
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>
于 2013-05-07T14:50:56.763 回答
0

如果要使用LinearLayoutlayout_weight中的属性,则必须设置此布局以匹配其父级:

    <LinearLayout android:id="@+id/LinearLayout01"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true" >
              ...

然后你可以在你尝试的时候玩重量,为它的孩子设置不同的大小。另外:你必须为每个孩子设置一个权重,在你的例子中,textView 在父级之外按下按钮,因为按钮没有设置权重。

于 2013-05-07T14:45:33.143 回答