如何创建自定义gridview如图所示
我是android编程的新手,学过基础知识。如何创建自定义gridview如图所示
现在,我想创建一个视图,如下面的链接通过java端而不是通过xml。
我可以使用按钮或图像中的XML来显示这样的图像。
但是,我想动态地通过java端,所以我不知道要通过java端来完成这个工作。
请指导我。谢谢。
使用Recyclerview(LayoutManager是网格)
GridLayoutManager gridLayoutManager = new GridLayoutManager(this,2);
recylerview.setLayoutManager(gridLayoutManager);
您可以在view.xml
创建gridview
象下面这样:
<GridView
android:id="@+id/grid_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:horizontalSpacing="16dp"
android:numColumns="2"
android:verticalSpacing="16dp" />
之后,你可以创建你所选择的customAdapter
做任何事情你想要如下:
public class GridAdapter extends BaseAdapter {
public GridAdapter() {
//constructor for your adapter
}
@Override
public int getCount() {
return chargeProduct.getProducts().size();
}
@Override
public Object getItem(int position) {
return item;
}
@Override
public long getItemId(int position) {
return id;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View gridView;
if (convertView == null) {
gridView = new View(mContext);
gridView = inflater.inflate(R.layout.grid_item_view, null);
} else {
gridView = (View) convertView;
}
//Create view items and do the things you want here
return gridView;
}
y您还需要为每个网格项创建grid_item_view
布局,并且它可以是您希望的任何布局。 ,最后你需要你的看法与这些连接到您的适配器线:
gridAdapter = new GridAdapter();
customGridView.setAdapter(gridAdapter);
也可以参考这些教程就如何开始创建GridView控件:
2. getting started on gridview
,并为您创建自定义适配器的GridView你可以参考这个:
creating a custom adapter for gridview
希望这会有所帮助。
虽然这个链接可能回答这个问题,但最好在这里包含答案的重要部分,并提供参考链接。如果链接页面更改,则仅链接答案可能会失效。 - [来自评论](/评论/低质量帖/ 16396076) – Shiro
tnx的说明,我编辑我的帖子,所以它现在看起来更好:) @ Shiro –
List<Strings> rowListItem = getAllItemList();
GridLayoutManager gLayout = new GridLayoutManager(this, 4);
RecyclerView rView = (RecyclerView)findViewById(R.id.recycler_view);
rView.setHasFixedSize(true);
rView.setLayoutManager(gLayout);
欲了解更多请参考here
所以,你要我们写的代码吗? – Akshay
所以你的问题是如何从Java代码设置网格?或者从Java代码中创建正方形(网格元素)? –
@S Praveen Kumar是的,在此之后,我会尝试通过点击网格中的任何sqaure动态增加网格的大小。 也需要有网格正方形的随机颜色。 @Akshay这些是我最初的计划,我在这里采取一些指导。我不希望任何人为我编写代码。 – Nik