Android ListViewには、それぞれ独自のLinearLayoutを持つアイテムビュータイプがいくつかあります。私はお互いに水平に配置されていることに加えて、ウィジェットのすべてを垂直に配置しようとしています。添付の写真のリストビューの最初の項目を参照してください。ウィジェットがListViewアイテムの上部近くに押し上げられている点を除いて、上手く見えます。Android LinearLayoutの向きが水平のときにウィジェットを垂直に配置するにはどうすればよいですか?
TextViewとImageViewsのライトブルーとライトグリーンの背景は、xmlが配置に及ぼす影響を確認するのに役立ちます。画像のすぐ下に、ListViewの一番上のアイテムのレイアウトがあります。 TextViewと円形イメージ(ImageView)を垂直にセンタリングするにはどうしたらよいですか?
<?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="match_parent"
android:orientation="horizontal"
android:paddingBottom="5dp">
<TextView
android:id="@+id/ques_num"
android:layout_width="30dp"
android:layout_height="wrap_content"
android:layout_marginLeft="2dp"
android:layout_marginRight="2dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:background="@color/LightBlue"
android:text="0."
android:textSize="22sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center_vertical"
android:background="@color/LightGreen"
android:adjustViewBounds="true"
android:id="@+id/question_id_0" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center_vertical"
android:background="@color/LightGreen"
android:adjustViewBounds="true"
android:id="@+id/question_id_1" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center_vertical"
android:background="@color/LightGreen"
android:adjustViewBounds="true"
android:id="@+id/question_id_2" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center_vertical"
android:background="@color/LightGreen"
android:adjustViewBounds="true"
android:id="@+id/question_id_3" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center_vertical"
android:background="@color/LightGreen"
android:adjustViewBounds="true"
android:id="@+id/question_id_4" />
</LinearLayout>
UPDATE:
android:gravity="center_horizontal"
し、その後にそれを変更してみました:
android:gravity="center_horizontal|center_vertical"
を
私はのLinearLayoutに追加するだけで試してみました
どちらの場合でも、ウィジェットはListViewアイテムの水平中心に移動しましたが、垂直位置には何の影響もありませんでした。
android:gravity = "center_horizontal | center_vertical"を線形レイアウトに追加します。 –
これは垂直位置を変更しませんでしたが、水平位置を変更しましたが、これは私の必要としていません。私はその質問を編集し、それを試して何が起こったのかのイメージを投稿しました。 – Alyoshak