6 つのテキスト ビューと 1 つのイメージ ビューを含むレイアウト ファイルがあります。ビューは次のようになります
ABC | DEF
HIJ | KLM
NOP | QRS
これは、レイアウトの水平スクロール ビューの一部である必要があります。上記のビューは画面の全幅をカバーする必要があります。スワイプすると、次のビューのみが表示されます。それ以外の場合は、上記のレイアウトのみが表示されます。
レイアウトを設計しましたが、目的の出力が得られません。一度に、上記の 3 ~ 4 つのビューが重なっていることがわかります。
上のビューのように見える私のレイアウトは次のとおりです
<?xml version="1.0" encoding="utf-8"?>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/EventCode1"
android:text="Event Code 1"
android:textSize="19sp"
android:layout_weight="1"
android:layout_alignParentTop="true"/>
<TextView
android:layout_centerVertical="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/EventText1"
android:paddingRight="10dip"
android:textSize="25sp"
android:text="Event Text 1"
android:layout_below="@+id/EventCode1"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:id="@+id/EventDate1"
android:text="Event Date 1"
android:textSize="19sp"
android:layout_below="@+id/EventText1"/>
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerInParent="true"
android:src="@drawable/divider"
android:id="@+id/divider"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/EventCode2"
android:text="Event Code 2"
android:textSize="19sp"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"/>
<TextView
android:layout_centerVertical="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/EventText2"
android:textSize="25sp"
android:text="Event Text 2"
android:layout_below="@+id/EventCode2"
android:layout_alignParentRight="true"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/EventText2"
android:id="@+id/EventDate2"
android:text="Event Date 2"
android:textSize="19sp"
android:layout="@+id/EventDate2"/>
</RelativeLayout>
上記のレイアウトを、ライナー レイアウトを含む水平スクロールビューに膨張させます。
<?xml version="1.0" encoding="utf-8"?>
<View
android:layout_width="fill_parent"
android:layout_height="5dp"
android:background="@drawable/shade"/>
<Button
android:id="@+id/EventsButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/URL"
android:text="Events Around" />
<LinearLayout
android:id="@+id/eventlist"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
</LinearLayout>
カスタム ビューを拡張して水平ライナー レイアウトに配置するコードは次のとおりです。
10 個のイベントがある場合は、このように追加します。実行時に非常に大きくなる可能性があります
for(int i = 0; i<10 ; i++)
{
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = (View)inflater.inflate(R.layout.greventslayout,null);
mEventsLayout.addView(view);
}
アップデート::
以下のコードを追加すると、このような UI が得られます。