1

我正在使用 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)下载和显示?

4

0 回答 0