在我的应用程序中,我试图使我的 gridview 不对称,但我只能设置 2 或 3 列等等……还有其他选项可以使 gridview 不对称吗?以下是我的 gridview 代码,有人可以帮我吗?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F3F3F3"
>
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="150dp"
/>
<GridView
android:numColumns="2"
android:gravity="center"
android:stretchMode="columnWidth"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/allproduct_grid"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:horizontalSpacing="10dp"
android:verticalSpacing="10dp"
android:layout_marginTop="10dp"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我想要的是:
有没有办法归档以下内容?我希望我的 RecyclerView 能够在 2 列的网格中显示我的卡片,但我还希望几张卡片具有全屏宽度,而不仅仅是半宽。我尝试使用StaggeredGridLayoutManager
存档,但我找不到存档的方法。
我必须在非对称网格中动态显示图像 - 设置 rowSpan(height) 和 colSpan(width)(支持 Android 10+)。我尝试了以下方法
RecyclerView 和 GridLayoutManager 有了这个,我们可以只改变一个项目的宽度(colSpan)(当 GridLayoutManager 方向是 VERTICAL 时)。我们不能改变高度(rowSpan)
RecyclerView with StaggeredGridLayoutManager 它支持水平和垂直布局以及反向布局子项的能力。但与 GridLayoutManager 一样,我们只能设置 rowSpan 或 colSpan,但不能同时设置(取决于它的方向)
TwoWayView 这似乎是一个理想的解决方案。但是该库在最新版本的 Android 支持库 https://github.com/lucasr/twoway-view/issues/266 上存在问题。我们在我们的项目中使用 Android 支持库 23.3.2。
AsymmetricGridView 库的作者提到了一个警告“目前只对 rowSpan = 2 和 columnSpan = 2 的项目有很好的支持”。我正在寻找一个支持其他行和列跨度的库
GridLayout 这仅适用于 Android 14+。我正在寻找支持 Android 10+ 的解决方案
我查看了以下堆栈溢出问题
Android Docs 中没有关于 RecyclerView 和 StaggeredGridLayoutManager 的好例子
如何在行中创建具有不同图像大小的 AsymmetricGridView
任何帮助是极大的赞赏。
通常在Gridview中,当您按下网格中的元素时,它会突出显示特定的正方形背景,并且颜色很好.我想让它在你放手后保持高亮显示,基本上把它变成一个开关的开关,用于高光.我想使用自动内置的android高亮颜色,但到目前为止我没有成功尝试使其工作.任何帮助将不胜感激.
谢谢!
我有一个Android GridView
有一个ImageView
,TextView
两个Button's
.网格看起来很好,但我发现很难处理内部的按钮事件GridView
.我是Android新手.
任何帮助,将不胜感激.
谢谢.
大家好开发者.
我在Android应用程序中有一个网格视图.网格视图具有自动适合列数的设置,最小列宽为250像素.
在网格单元格中,我有一个LinearLayout,它有一个图像视图和一些文本视图.
我希望我的图像视图始终是方形的,但不幸的是我无法使用任何布局设置(在此处可以使用建议,如果我错过了一个选项).
所以我的想法是,我应该以某种方式获取我的图像Loading类中的网格列宽度,并在那里动态调整imageView高度,以匹配宽度.
虽然我没有获得列宽.如果我在my中设置了breakPoint,我 public View getView(int position, View convertView, ViewGroup parent)
看到我的父ViewGroup是Grid,它具有正确的列宽值,但是当我使用时:
GridView mGridView = (GridView)parent;
int width = mGridView.getColumnWidth();
Run Code Online (Sandbox Code Playgroud)
应用程序崩溃,因为它说没有getColumnWidth方法.
这里有什么帮助?
我正在使用Sudoku app.布局是9x9 GridView.每个GridView都包含customAdapter的9个Textview.我想让9个TextViews填充每个GridView的高度.怎么样?
这就是我现在所拥有的
这是myGridAdapter:
public class myGridAdapter extends BaseAdapter {
private Context context;
private String[] mobileValues;
public myGridAdapter(MainActivity mainActivity, String[] arrayEmpty) {
this.context = mainActivity;
this.mobileValues = arrayEmpty;
}
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View gridView;
if (convertView == null) {
gridView = new View(context);
// get layout from text_item.xml
gridView = inflater.inflate(R.layout.text_item, null);
// set value into textview
TextView textView = (TextView) gridView
.findViewById(R.id.grid_item_label);
textView.setText(mobileValues[position]);
} else { …
Run Code Online (Sandbox Code Playgroud) StickyGridHeaders,但它不能正常工作,或者至少我想要它.
所以我得到了这个列表里面的其他列表,并且我创建了一个标题列表(我使用原始列表)和一个完整的项目列表(所有子项目),并调用适配器如下:
List<CalendarDate.CalendarTvShowEpisode> lista=new LinkedList<CalendarDate.CalendarTvShowEpisode>();
for(CalendarDate l:response){
lista.addAll(l.episodes);
}
setListAdapter(new WeekCalendarAdapter(getActivity(), weekCalendar,lista));
Run Code Online (Sandbox Code Playgroud)
然后我有我的适配器:
public class WeekCalendarAdapter extends BaseAdapter implements StickyGridHeadersBaseAdapter {
private final List<CalendarDate> mListHeaders;
private final List<CalendarDate.CalendarTvShowEpisode> lista;
private LayoutInflater inflater;
public WeekCalendarAdapter(Context context, List<CalendarDate> mList, List<CalendarDate.CalendarTvShowEpisode> lista) {
this.mListHeaders = mList;
this.lista=lista;
inflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return lista.size();
}
@Override
public Object getItem(int i) {
return lista.get(i);
}
@Override
public long getItemId(int i) {
return lista.get(i).episode.firstAired.getDay();
}
@Override
public View getView(int position, …
Run Code Online (Sandbox Code Playgroud) 嗨,我正在开发Android Gallery应用程序.我从SD卡中的文件夹中获取图像并将其显示在网格视图中,如下所示
public static ArrayList<String> getFilePaths()
{
ArrayList<String> filePaths = new ArrayList<String>();
File directory = new File(android.os.Environment.getExternalStorageDirectory() + File.separator + AppConstant.PHOTO_ALBUM);
// check for directory
if (directory.isDirectory())
{
// getting list of file paths
File[] listFiles = directory.listFiles();
// Check for count
if (listFiles.length > 0)
{
for (int i = 0; i < listFiles.length; i++)
{
String filePath = listFiles[i].getAbsolutePath();
if (IsSupportedFile(filePath))
{
// Add image path to array list
filePaths.add(filePath);
}
}
}
else
{
// image directory …
Run Code Online (Sandbox Code Playgroud) 我想显示空白动态网格这样的
我试图像这样填充网格,但为此我需要将drawable int数组发送到baseadapter.我知道它不是正确的方法来做到这一点
请考虑以下情况:
1)用户将获得这种带有空白网格的屏幕,其中"+"按钮将图像添加到网格,如果图像存在于网格上,则显示" - "按钮
2)一旦用户填充GridView的第二个空白网格,就立即动态增加网格.
考虑这个问题太替代问题