Android で Linear Layout と weight が重複している可能性があります
やあ、
奇妙な問題があります。3 つのボタンを備えた線形レイアウトのカスタム ウィジェットを設計しました。コードは次のようになります。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="3" >
<ToggleButton
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/tbBrowse"
android:background="@drawable/btn_tg_browse"
android:textOn=""
android:textOff=""
android:focusable="false"
android:focusableInTouchMode="false"
android:checked="false"
android:gravity="bottom"/>
<ToggleButton
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/tbHotSpot"
android:background="@drawable/btn_tg_hotspot"
android:textOn=""
android:textOff=""
android:focusable="false"
android:focusableInTouchMode="false"
android:checked="true"
android:gravity="bottom"/>
<ToggleButton
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/tbMatches"
android:background="@drawable/btn_tg_matches"
android:textOn=""
android:textOff=""
android:focusable="false"
android:focusableInTouchMode="false"
android:checked="false"
android:gravity="bottom"/>
</LinearLayout>
ルック アンド フィールは次のようになります。
このウィジェットをクラスに追加しました (android:id="@+id/Footer"):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/White">
<view
android:layout_width="match_parent"
android:layout_height="wrap_content"
class="com.belldigital.widget.HeaderBar"
android:id="@+id/Header"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" />
<view
android:layout_width="match_parent"
android:layout_height="wrap_content"
class="com.belldigital.widget.FooterBar"
android:id="@+id/Footer"
android:layout_alignParentBottom="true" />
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/Header"
android:layout_above="@id/Footer"/>
</RelativeLayout>
「ビュー」宣言で重力が定義されていないため、最初の画像と同じルック アンド フィールが表示されると予想されますが、エミュレータと実際のデバイスの両方で次の画像が表示されます。
あなたが思うこと?Relative レイアウトに基づいてウィジェットを再設計しても問題ないかもしれません。ただし、現在のデザインは問題ないと思いますが、「ビュー」ウィジェットが私の配置を乱すのはなぜですか? コメント/提案をいただければ幸いです。