1

Androidでは、これを達成しようとしています。 EditTextとButtonを並べて検索

基本的に、ボタンをEditTextと並べて追加する機能。どちらも、一番上の行の幅の90%を占めます。(私はツイッターアイコンのようなロゴを持っていることに関心がありません)。

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>

したがって、基本的に、horizo​​ntal LinearLayoutを使用すると、layout_weightは水平方向に機能します。つまり、幅はlayout_weightパラメーター(layout_width = "0dp")に従って分割されます。vertical LinearLayoutを使用している場合、layout_weightは垂直方向に機能します。つまり、高さはlayout_weightパラメーター(layout_height = "0dp")に従って垂直方向に分割されます。

お役に立てば幸いです。

于 2012-05-05T13:24:17.313 に答える