私は Etsy のAndroidStaggeredGridを使用しており、適切な列数とセル サイズを提供することで、さまざまな画面をサポートしたいと考えています。グリッドの各セルには、ImageView
テキストが含まれています。公式ドキュメント ( screens supportとscreen sites ) に従って、次のフォルダー構造を作成します。
values/
integers.xml
values-small/
integers.xml
values-large/
integers.xml
values-xlarge/
integers.xml
の内容integers.xml
は次のとおりです (構成ごとに値を変更するだけです)。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="grid_column_count">2</integer>
</resources>
次に、レイアウト(レイアウトフォルダーが1つあります)xmlファイルで、次のように構成AndroidStaggeredGrid
します。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<com.etsy.android.grid.StaggeredGridView
android:id="@+id/grid_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:item_margin="8dp"
app:column_count="@integer/grid_column_count" />
<ViewStub
android:id="@android:id/empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout="@layout/empty_view"/>
</FrameLayout>
私の問題は、画面密度に基づいてダウンロードして表示する画像の適切なサイズ (さまざまなサイズ: 61*91、120*178、180*266、510*755) を選択する方法です。