我正在使用 Etsy 的AndroidStaggeredGrid,并希望通过提供适当的列数和单元格大小来支持不同的屏幕。网格的每个单元格都包含一个ImageView
和一些文本。按照官方文档(屏幕支持和屏幕尺寸),我创建了以下文件夹结构:
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>
然后在布局中(我有一个布局文件夹)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)下载和显示?