我想让recyclerview项目保持相同的宽高比在任何屏幕(宽高比是8:5);那么如何动态设置recyclerview项目的高度?
如果你想以编程方式设置它的宽度和高度,你需要使用ViewGroup。LayoutParams
ViewGroup.LayoutParams layoutParams= recyclerview.getLayoutParams();
layoutParams.height = height;
layoutParams.widht = width
recyclerview.setLayoutParams(layoutParams);
您需要根据您的需要将height
和width
传递给它。我使用ViewGroup.LayoutParams
,但你可以使用任何ViewGroup你把回收视图。如果它在LinearLayout中,你会使用LinearLayout。LayoutParams等
让我知道它是否对你有效,如果是的话,记得投票/选择正确的答案,干杯
您可以使用https://android-developers.googleblog.com/2017/02/build-flexible-layouts-with.html
示例如下:
'com.google.android:flexbox:2.0.1'
到你的依赖项。
这是你的recycleview配置:
val layoutManager = FlexboxLayoutManager(this)
layoutManager.flexDirection = FlexDirection.ROW
layoutManager.justifyContent = JustifyContent.FLEX_START
recyclerview.layoutManager = layoutManager
您也可以查看此要点https://gist.github.com/siifii/3edd8cd2d4f5a9b4672b9976c0c55ff4