android - Android:并排显示多行的动态框列表
问题描述
我试图在我的 Android 应用程序中,在几条不同的行上并排显示一个动态确定的正方形列表。当盒子的数量对于给定的方向“太大”时,我希望我的应用程序在下面开始另一行盒子(我知道基本的先决条件:每个正方形有多大,这将如何随着屏幕演变大小,密度,方向......,我还没有确定自己)。然而,现在,我想确定一种高级方法来满足这一需求。我还希望正方形的整个“列表”可以垂直滚动(我知道我需要为此使用 ScrollView)。
本质上,这就是我想要完成的(请原谅糟糕的绘画技巧)。
景观(如果有 6 个方格)
纵向(如果有 12 个方格)
对于具有 Web 开发背景的人来说,这似乎是一项相当容易的任务,但是,我发现在 Android 上它比我预期的要困难得多。
考虑到整个任务的复杂性(如果我们正在处理一个中等大小的设备,那么如果你是纵向的,那么在 LinearLayout 中显示 3 个框,然后每隔 3 个,创建一个包含它们的新 LinearLayout;如果你'在横向,那么它是 6;如果它是一个大型设备,它是 4 和 7;...) 在我的脑海中,除了在返回数据和最初创建正方形以及更改设备方向时。
由于我刚刚开始使用本机 Android,因此我将不胜感激。
非常感谢,
克里斯。
解决方案
GridLayoutManager mGridLayoutManager;
RecyclerView my_recycler = findViewById(R.id.my_recycler);
对于景观
if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){
mGridLayoutManager = new GridLayoutManager(getActivity(), 5);//adjust the number as you like
my_recycler.setLayoutManager(mGridLayoutManager);
my_recycler.setAdapter(myadapter);
}
肖像
if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT){
mGridLayoutManager = new GridLayoutManager(getActivity(), 3);//adjust the number as you like
my_recycler.setLayoutManager(mGridLayoutManager);
my_recycler.setAdapter(myadapter);
}
推荐阅读
- reactjs - React Native [ Stacks - Navigation ] 给一个函数导航
- c# - C#如何使泛型方法更清晰
- microsoft-graph-api - Microsoft graph api中基于ccRecipients、bccRecipients、toRecipients的过滤
- javascript - 使用没有 UI 的 Google Maps SDK 解析完整地址
- sharepoint - 为 SharePoint Online 网站生成内容列表和/或网站地图的简单方法?
- node.js - 如何将 csv 文件导入 MongoDb(使用 NodeJS/Express/EJS)
- javascript - 如何验证包含对象的输入字段
- visual-studio-code - 如何使vscode中的某些关键字变为斜体
- javascript - 为什么console.log() 在javascript 中不起作用?
- apache - 在子域上托管 Vue Uncaught SyntaxError: Unexpected token '<'