如何使图库应用程序在所有不同的屏幕尺寸上看起来相同?

时间:2016-12-18 19:29:57

标签: android android-recyclerview android-gridlayout

我正在开发像Image Gallery这样的应用程序,其中包含从网络上获取的图像。所有图片都具有相同的宽度200px和高度280-300px。我将RecyclerViewAdapter.ViewHolderGridLayoutManager一起使用,spans = 2.使用Picasso库加载图片。

item_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<ImageView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tile_picture"
    android:layout_width="match_parent"
    android:layout_height="260dp"
    android:layout_margin="1dp"
    android:scaleType="centerCrop"/>

在我的设备5" 720x1280上,它看起来不错。 Screenshot 但是当我在其他设备上启动应用程序时,它看起来并不那么好...... 在5.5" 1080x1920上,图像之间有额外的边距。 在旧3.7" 480x800上,只有一个跨度,宽度位多于半屏尺寸。 我建议,因为android:layout_height="260dp"硬编码。 那么,我怎样才能在不同的设备上看到相同的效果呢?

1 个答案:

答案 0 :(得分:0)

我建议您实现自定义视图,并在onMeasure获取屏幕宽度,然后传递一半的宽度:

setMeasuredDimension(width/2, height);

这样可以保证在任何设备上,您都可以在屏幕的一半显示图像。