GridViewのandroid:gravityとsetGravity()の使い方がわかりません。
android:gravity
各セル内の重力を指定します。
center_horizontal - サイズを変更せずに、コンテナの水平方向の中央にオブジェクトを配置します。
setGravity(int gravity)
このグリッドの重力を設定します。重力は、子ビューが水平方向にどのように配置されるかを表します。デフォルトは Gravity.LEFT です
gravity int : このグリッドの子に適用する重力
この質問に記載されているように、最後の行を中央に配置しようとしていますが、取得できません。
そこで、 と の使い方を理解しようとしましandroid:gravity
たsetGravity()
。
このコードを試しました。
<GridView
android:id="@+id/grid_view"
android:stretchMode="none"
android:numColumns="auto_fit"
android:columnWidth="140dp"
android:gravity="right"
android:layout_width="match_parent"
android:layout_height="match_parent" />
その子ビュー
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:id="@+id/chapter_item_layout"
android:minHeight="120dp"
android:background="@color/red">
<ImageView
android:id="@+id/thumbnail_image"
android:layout_width="68dp"
android:layout_height="68dp"
android:scaleType="fitXY"
android:src="@drawable/icon" />
<TextView
android:text="TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:textSize="16sp"
android:textColor="@color/black"
android:maxLines="2"
android:ellipsize="end"
android:id="@+id/title" />
</LinearLayout>
そしてそれはこのように来ます
を変更するstretchMode="columnWidth"
と、このようになります
- 子行が右揃えされていないことを示す最初の画像。
- 子の内容が右に揃っていないことを示す 2 番目の画像
では、重力を設定することの用途は何ですか?
やってみgridView.setGravity(Gravity.CENTER)
ました。
GridView に動的アイテムを表示する必要があります。
アイテムが3つある場合、3番目のアイテムを中央に表示するにはどうすればよいですか?
GridView を設定しlayout_width="wrap_content"
て入れてみました
- LinearLayout と設定
layout_gravity:center
- RelativeLayout と設定
layout_centerInParent=true
どちらの場合も機能しませんでした。
TableLayout
一番下までスクロールするとさらにデータをロードする必要があるため使用できないため、 OnScrollListenerを設定する必要があります
前もって感謝します