我正在使用Etsy的AndroidStaggeredGrid,并希望通过提供适当的列数和单元大小来支持不同的屏幕。网格的每个单元格都包含ImageView
和一些文本。
在官方文档(screens support和screen sizes)之后,我创建了以下文件夹结构:
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)?< / p>