2012-03-01 7 views
3

LinearLayout内に唯一のアイテムとしてTableLayoutを配置しようとしています(画面全体をカバーする背景アイコンがあります)例えば幅の70%、高さの70%である。私はこれを持っていますが、それは大丈夫ですが、私はそれが多くのデバイスで動作するかどうか分からず、それを表現する最も一般的な方法が何であるか不思議です。Android TableLayoutはLinearLayoutのパーセンテージで表されます

<LinearLayout 
    android:id="@+id/mainLayout" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    android:background="@drawable/mylogo" 
    android:padding="0dip" 
    android:gravity="center_vertical|center_horizontal" 
    android:baselineAligned="false" 
    > 

    <TableLayout 
     android:background="#FFFF0000" 
     android:layout_width="200dp" 
     android:layout_height="250dp" 
     android:gravity="center_vertical|center_horizontal" 
     android:stretchColumns="field"> 

    </TableLayout> 

</LinearLayout> 

私はlayout_weightsを使いこなしましたが、私が管理したのはテーブルを消してしまうことでした。唯一の子が直線的に存在する場合、それはその親の完全なスペースを占有しますので、

おかげ スティーブン

答えて

0

は、代わりのLinearLayoutのRelativeLayoutを使用してみてください。

0

あなたのやり方が良いと思います。異なるデバイス間には多少の違いがありますが、他の画面の密度や向きに合わせてレイアウトを変えることができます。

layout_weightを使用すると、LinearLayoutに複数の子供がいた場合にのみ役立ちます。

+0

'layout_weight'は、1人の子供にとって完璧に機能します。 LinearLayoutに 'weightSum'を供給するだけです。 – kabuko

+0

@ kabuko、そうです。ありがとう! :) –

1

LinearLayoutは、1次元のウェイトで子サイジングを行うことはできますが、実際には1つのビューのサイジングについて心配しているので、LinearLayoutをネストすることでこれを達成できます。

<LinearLayout 
    android:id="@+id/mainLayout" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    android:background="@drawable/mylogo" 
    android:gravity="center" 
    android:weightSum="1.0"> 
    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:orientation="horizontal" 
     android:gravity="center" 
     android:weightSum="1.0" 
     android:layout_weight="0.7"> 

     <TableLayout 
      android:background="#FFFF0000" 
      android:layout_width="0dp" 
      android:layout_height="fill_parent" 
      android:gravity="center" 
      android:stretchColumns="field" 
      android:layout_weight="0.6"> 

     </TableLayout> 

    </LinearLayout> 
</LinearLayout> 

このレイアウトがデバイス間で良好に見えるかどうかは、コンテンツによって異なります。一般的に私は合理的なパディング/マージンの傾向がありますが、やはり内容に非常に依存しています。

関連する問題