0
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/homeTableLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

<TableRow
    android:id="@+id/homeFirstRow"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="5dip" >

    <LinearLayout
        android:id="@+id/navigationLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:layout_marginLeft="10dp"
        android:background="#669cb7"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/btnCall"
            android:layout_width="wrap_content"
            android:layout_height="45dp"
            android:text="@string/btn_call_text"
            android:textSize="15sp" />

        <Button
            android:id="@+id/btnPicture"
            android:layout_width="wrap_content"
            android:layout_height="45dp"
            android:text="@string/btn_take_pictures_text"
            android:textSize="15sp" />

        <Button
            android:id="@+id/btnNavigate"
            android:layout_width="wrap_content"
            android:layout_height="45dp"
            android:text="@string/btn_navigate_text"
            android:textSize="15sp" />

        <Button
            android:id="@+id/btnedo"
            android:layout_width="wrap_content"
            android:layout_height="45dp"
            android:text="@string/btn_pod_text"
            android:textSize="15sp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/distanceLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:background="#FFC58F"
        android:gravity="center"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/tv"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="SOURCE TO DESTINATION COMES HERE" />

        <TextView
            android:id="@+id/txtFrom"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="" />

        <TextView
            android:id="@+id/txtTo"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="" />

        <TextView
            android:id="@+id/txtETA"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="" />

        <TextView
            android:id="@+id/txtDistance"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/expandingLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:layout_marginLeft="10dp"
        android:background="#FFC58F"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/btnLanguage"
            android:layout_width="wrap_content"
            android:layout_height="45dp"
            android:text="@string/btn_language_text"
            android:textSize="15sp" />

        <Button
            android:id="@+id/btnImages"
            android:layout_width="wrap_content"
            android:layout_height="45dp"
            android:text="@string/btn_image_text"
            android:textSize="15sp" />

        <Button
            android:id="@+id/btnMessages"
            android:layout_width="wrap_content"
            android:layout_height="45dp"
            android:text="@string/btn_job_text"
            android:textSize="15sp" />

        <Button
            android:id="@+id/btnAlerts"
            android:layout_width="wrap_content"
            android:layout_height="45dp"
            android:text="@string/btn_alert_text"
            android:textSize="15sp" />

        <Button
            android:id="@+id/btnlogout"
            android:layout_width="wrap_content"
            android:layout_height="45dp"
            android:text="@string/btn_logout_text"
            android:textSize="15sp" />
    </LinearLayout>
</TableRow>

こんにちは、上記はホーム画面の実装です。最初の Linear レイアウトを左揃えにし、2 番目のレイアウトを中央揃えにし、最後のレイアウトを右揃えにしたいと考えています。

4

3 に答える 3

2

デフォルトでは、TableRow 内のすべての子を画面の境界内に描画できる場合、TableView は LinearLayout の各子に等しい領域を割り当て、自動的に左揃え、中央揃え、右揃えになります。

あなたの場合、LinearLayouts のそれぞれには、画面の境界内に収めるのが難しいテキストを含む 4 つ以上のビューがあります。したがって、TableLayout は、最初の子から始まる画面に適合するものだけを描画します。

  1. TableRow の代わりに weightSum=3 で LinearLayoutを使用してみて、子 LinearLayout のそれぞれに 1 の重みを与えることができます。
  2. さらに、ボタンにデフォルトの MinWidth があるかどうかを確認し、ビューが画面からはみ出さずにすべてのテキストを画面に表示できると確信している場合は、それを削除します
  3. 重力 (左、中央、右) を使用して、親に対する内部レイアウトの位置を制御します。親が LinearLayout の場合にのみ、layout_gravity が機能することに注意してください。
  4. RelativeLayout を使用することもできますが、それぞれ左、中央、右に正確に配置しようとすると、内側の LinearLayout がオーバーラップする可能性があります。

    <LinearLayout android:orientation=horizontal
                  android:weightSum=3 >
        <LinearLayout android:layout_width=0dp 
                      android:layout_weight=1
                      android:layout_gravity=left >
        <LinearLayout android:layout_width=0dp 
                      android:layout_weight=1
                      android:layout_gravity=center >
        <LinearLayout android:layout_width=0dp 
                      android:layout_weight=1
                      android:layout_gravity=right >
    </LinearLayout>
    
于 2013-03-07T04:23:34.163 に答える
0
  1. このすべてのボタンが1つの画面に収まると確信していますか?
  2. 3つのlinearlayoutのラッパーとしてRelativeLayoutを使用できます
  3. または、weightSumを使用してLinearLayoutラッパーを使用できます
<RelativeLayout>
<LinearLayout android:layout_alignParentLeft="true">
<LinearLayout android:layout_toRightOf="@id/linear1>
<LinearLayout android:layout_toRightOf="@id/linear2 android:layout_alignParentRight="true">
<RelativeLayout>
于 2013-03-07T04:03:35.040 に答える
0

weightsum と orientation を使用して、目的を達成してみてください。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/homeTableLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:weightSum="10"
    android:orientation="horizontal"
     >

<LinearLayout
        android:id="@+id/navigationLayout"
        android:layout_width="0dip"
        android:layout_height="fill_parent"
        android:layout_gravity="left"
        android:background="#669cb7"
        android:orientation="vertical"
        android:layout_weight="3.3"

        >

        <Button
            android:id="@+id/btnCall"
            android:layout_width="fill_parent"
            android:layout_height="45dp"
            android:text="btn_call_text"
            android:textSize="15sp" />

        <Button
            android:id="@+id/btnPicture"
            android:layout_width="fill_parent"
            android:layout_height="45dp"
            android:text="btn_take_pictures_text"
            android:textSize="15sp" />

        <Button
            android:id="@+id/btnNavigate"
            android:layout_width="fill_parent"
            android:layout_height="45dp"
            android:text="btn_navigate_text"
            android:textSize="15sp" />

        <Button
            android:id="@+id/btnedo"
            android:layout_width="fill_parent"
            android:layout_height="45dp"
            android:text="btn_pod_text"
            android:textSize="15sp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/distanceLayout"
        android:layout_width="0dip"
        android:layout_height="fill_parent"
        android:background="#FFC58F"
        android:gravity="center"
        android:orientation="vertical"
        android:layout_weight="3.3" 
        >

        <TextView
            android:id="@+id/tv"
            android:layout_width="fill_parent"
            android:layout_height="45dp"
            android:text="SOURCE TO DESTINATION COMES HERE" />

        <TextView
            android:id="@+id/txtFrom"
            android:layout_width="fill_parent"
            android:layout_height="45dp"
            android:text="" />

        <TextView
            android:id="@+id/txtTo"
            android:layout_width="fill_parent"
            android:layout_height="45dp"
            android:text="" />

        <TextView
            android:id="@+id/txtETA"
            android:layout_width="fill_parent"
            android:layout_height="45dp"
            android:text="" />

        <TextView
            android:id="@+id/txtDistance"
            android:layout_width="fill_parent"
            android:layout_height="45dp"
            android:text="" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/expandingLayout"
        android:layout_width="0dip"
        android:layout_height="fill_parent"
        android:layout_gravity="right"
        android:background="#FFC58F"
        android:orientation="vertical"
        android:layout_weight="3.4" 
        >

        <Button
            android:id="@+id/btnLanguage"
            android:layout_width="wrap_content"
            android:layout_height="45dp"
            android:text="btn_language_text"
            android:textSize="15sp" />

        <Button
            android:id="@+id/btnImages"
            android:layout_width="wrap_content"
            android:layout_height="45dp"
            android:text="btn_image_text"
            android:textSize="15sp" />

        <Button
            android:id="@+id/btnMessages"
            android:layout_width="wrap_content"
            android:layout_height="45dp"
            android:text="btn_job_text"
            android:textSize="15sp" />

        <Button
            android:id="@+id/btnAlerts"
            android:layout_width="wrap_content"
            android:layout_height="45dp"
            android:text="btn_alert_text"
            android:textSize="15sp" />

        <Button
            android:id="@+id/btnlogout"
            android:layout_width="wrap_content"
            android:layout_height="45dp"
            android:text="btn_logout_text"
            android:textSize="15sp" />
    </LinearLayout>

</LinearLayout>

結果は次のようになります。

ここに画像の説明を入力

于 2013-03-07T04:02:06.157 に答える