gpt4 book ai didi

android - RecyclerView item高宽动态变化Android

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:20:38 24 4
gpt4 key购买 nike

我是 android 开发的新手,我正在开发一个应用程序,该应用程序从服务器下载图片并将它们显示在 gridView 中。但是当应用程序在更大屏幕的手机上运行时,会出现一些额外的空间。这里有一些截图。我该如何解决这个问题?我有固定高度和宽度为 110dp 的每个项目的模型

我的图像模型:

<?xml version="1.0" encoding="utf-8"?>
<ImageView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="110dp"
android:layout_height="110dp"
app:srcCompat="@drawable/post2"
android:id="@+id/imageView2"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:layout_margin="1.5dp" />

我的回收站 View :

<android.support.v7.widget.RecyclerView
android:id="@+id/gallerygrid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="4dp"
android:numColumns="auto_fit"
android:stretchMode="columnWidth"
android:visibility="visible"
android:layout_gravity="center">

</android.support.v7.widget.RecyclerView>

On smaller screen phone

On bigger screen phone

最佳答案

根据屏幕尺寸动态设置高度和宽度。这是获得完美结果的最佳方式。

DisplayMetrics displaymetrics = new DisplayMetrics();
((Activity) context).getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
//if you need three fix imageview in width
int devicewidth = displaymetrics.widthPixels / 3;

//if you need 4-5-6 anything fix imageview in height
int deviceheight = displaymetrics.heightPixels / 4;

holder.image_view.getLayoutParams().width = devicewidth;

//if you need same height as width you can set devicewidth in holder.image_view.getLayoutParams().height
holder.image_view.getLayoutParams().height = deviceheight;

在 getview 的适配器中试试这个,希望你在所有设备上都能得到更好的结果

编辑:或者要设置与宽度相同的高度,您可以在高度中设置设备宽度,如下所示:

holder.image_view.getLayoutParams().height = devicewidth;

关于android - RecyclerView item高宽动态变化Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42808433/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com