3 つのプライマリ行を持つレイアウトを作成しようとしています。私はActionBarFragmentを使用しています(v7互換性から)。考えられる線形レイアウトと相対レイアウトのすべての組み合わせを試しました。ボタン1しかないときは機能しましたが、ボタンの2と3を追加したときは機能しませんでした。機能(EditTextと3つのボタン)をカスタムViewクラス(マージレイアウトファイルでRelativeLayoutを拡張)にラップしようとしました
希望の外観:
| actionbar |
+--------------------+
| infobar |
+--------------------+
| staggered |
| grid view |
| |
| |
| |
| |
| |
| |
+--------------------+
| | button1 |
| EditView | button2 |
| | button3 |
ずらしたビューと編集テキストとボタンを囲む相対的なレイアウトでの私の現在の結果
| actionbar |
+--------------------+
| infobar |
+--------------------+
| staggered |
| grid view |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
LinearLayout を使用してグリッド ビューと edittext/buttons を囲む場合の結果
| actionbar |
+--------------------+
| infobar |
+--------------------+
| | button1 |
| | button2 |
| | button3 |
| | |
| | |
| | |
| EditView | |
| | |
| | |
| | |
| | |
| | |
| | |
私の現在のレイアウト: アクティビティのレイアウト
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/eventActivityLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:showDividers="middle" >
<RelativeLayout
android:id="@+id/infoBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#AAA" >
<TextView
android:id="@+id/left_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="3dp"
android:textSize="12sp" />
<TextView
android:id="@+id/right_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_toRightOf="@+id/left_text"
android:gravity="right"
android:padding="3dp"
android:textAlignment="viewEnd"
android:textSize="12sp" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<com.example.EventStaggeredGridView
android:id="@+id/gridView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<com.example.EventCreatePostView
android:id="@+id/eventCreatePost"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/gridView"
android:background="#EEE" />
</RelativeLayout>
</LinearLayout>
ボトムビューのレイアウト
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<RelativeLayout
android:id="@+id/postRow"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<EditText
android:id="@+id/postMessageText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="false"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/buttons"
android:bufferType="spannable"
android:hint="@string/share"
android:imeOptions="actionDone"
android:inputType="textCapSentences|textMultiLine" />
<LinearLayout
android:id="@+id/buttons"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="false"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:orientation="vertical" >
<Button
android:id="@+id/postMessageButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/post" />
<ImageButton
android:id="@+id/cameraButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:contentDescription="@string/attach_photo_from_camera_or_gallery"
android:src="@drawable/ic_action_camera" />
<ImageButton
android:id="@+id/videoButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:contentDescription="@string/attach_video_from_camera_or_gallery"
android:src="@drawable/ic_action_video" />
</LinearLayout>
</RelativeLayout>
</merge>