2011-07-03 7 views
0

私は相対レイアウト内に2つのボタンがあり、両方ともアンドロイド:layout_weight = "50"を持っています。したがって、ボタンのテキストが画面の半分よりも大きくない限り、両方のボタンのサイズは同じです。しかし、あるボタンのテキストが長くなりすぎると、ボタンのサイズがそれ以上変わることはありません(下のスクリーンショットと比較してください)。どのように2つのボタンを同じ大きさにするにはどうすればよいのですか?アンドロイド:layout_weight = "50"のような相対的な幅を与えることで、画面サイズの半分の幅になります。テキストの長さ?テキストが切り取られたり、そのようなものがあればOKです。ヒントありがとう!ボタンの相対的なサイズを強制しますか?

<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 

    <Button 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_weight="50" 
     android:text="left button left button left button left button"/> 

    <Button 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_weight="50" 
     android:text="right button"/> 

</LinearLayout> 

enter image description here

答えて

4

設定android:layout_width="0dp"両方のボタン上:

私の現在のXMLコードは次のようになります。

の後にレイアウトの重みが適用されます。ボタンの幅が計算されました。 android:layout_width="wrap_content"を指定すると、テキストの幅がの前に計算され、の前にウェイトが計算され、各ボタンの内容がテキストを囲むようにレイアウトマネージャに指示するため、コントロールにはテキストが含まれるようにサイズが設定されます。これらの幅を0dpに設定すると、それらのボタン内のテキストのサイズに関係なくレイアウトのウェイトが等しくなり、レイアウトマネージャーによってレイアウトサイズ&の位置が計算されたときに、ウェイトのみが考慮されます。

0

両方のボタンでandroid:layout_weight = "1"というプロパティを設定するだけで、あなたが望むように動作させることができます。

関連する問題