1

在Android中,我试图做到这一点: 并排搜索 EditText 和 Button

基本上,将按钮与 EditText 并排添加的能力,它们都占据了顶行宽度的 90%。(我不关心有像 twitter 图标这样的标志)。

我用 layout_weight 尝试过 LinearLayout,但它们根本没有正确显示:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:weightSum = "1.0"
    android:orientation="vertical"
    android:background = "#faadadad" >

    <EditText
        android:layout_width="0dip"
        android:layout_height="0dip"
        android:layout_weight = "0.8"
        android:layout_marginLeft = "2dip"
        android:layout_marginTop = "1dip"
        android:layout_marginBottom = "1dip"        
        android:hint="Search Terms" />

    <Button android:text = "?" 
        android:layout_width = "0dip" 
        android:layout_height="2dip"  android:layout_weight = "0.2"/>

    </LinearLayout>    

并且我在 RelativeLayout 中尝试的任何东西看起来都不正确(我尝试将 2 元素之间的边距设置为 0dips,没有运气。我也无法获得 90% 的宽度要求。)

我究竟做错了什么?提前致谢。

4

1 回答 1

2

尝试使用以下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:weightSum = "1.0"
    android:orientation="horizontal"
    android:background = "#faadadad" >
    <LinearLayout android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.8">    
        <EditText
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft = "2dip"
            android:layout_marginTop = "1dip"
            android:layout_marginBottom = "1dip"        
            android:hint="Search Terms" />
    </LinearLayout>
    <Button android:text = "?" 
        android:layout_width = "0dip" 
        android:layout_height="wrap_content"
    android:layout_weight = "0.2"/>
</LinearLayout>

所以基本上,当你使用水平线性布局时,layout_weight 水平工作,即宽度根据 layout_weight 参数(layout_width="0dp")划分。如果您使用的是垂直线性布局,那么 layout_weight 垂直工作,即高度根据 layout_weight 参数垂直划分(layout_height="0dp")。

希望对您有所帮助。

于 2012-05-05T13:24:17.313 回答