做一个什么样的网站,html网站优化,网页设计实训总结怎么写,如何查看一个网站流量GridView跟ListView很类似#xff0c;Listview主要以列表形式显示数据#xff0c;GridView则是以网格形式显示数据#xff0c;掌握ListView使用方法后#xff0c;会很轻松的掌握GridView的使用方法。
在某种界面设计中#xff0c;如果需要很多个类似的控件整齐的排列Listview主要以列表形式显示数据GridView则是以网格形式显示数据掌握ListView使用方法后会很轻松的掌握GridView的使用方法。
在某种界面设计中如果需要很多个类似的控件整齐的排列类似方阵的一种数据展示可以使用GridView控件来实现。
常用属性介绍
width宽度
height高度
clip超过区域是否自动裁切
cellWidth单元格宽度
cellHeight单元格高度
model提供数据ListModel
delegate为数据设计展示样式
currentIndex当前项索引
highLight高亮显示样式
highlightFollowsCurrentItem高亮是否跟随当前项
highlightMoveDuration高亮移动到下一个位置所需时间
附加属性
ScrollBar.vertical纵向滑动条
ScrollBar.horizontal横向滑动条
…
GridView基本使用方法
GridView是一个在二维可滚动的网格中展示内容的控件。网格中的内容通过使用adapter自动插入到布局中。 下面通过实现一个简单的显示省份名的demo介绍GridView控件的基本使用方法
在布局中使用GridView控件实现activity_main.xml
?xml version1.0 encodingutf-8?
RelativeLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parenttools:contextcom.example.sunxiaodong.androidgridview.MainActivityGridViewandroid:idid/grid_viewandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:columnWidth90dpandroid:gravitycenterandroid:horizontalSpacing10dpandroid:numColumnsauto_fitandroid:stretchModecolumnWidthandroid:verticalSpacing10dp //RelativeLayout这个GridView会填充满整个屏幕关于使用属性的说明在下一节“GridView主要属性详解”中将进行说明。
MainActivity.java中获取GridView控件并进行初始化设置
public class MainActivity extends AppCompatActivity {private GridView mGridView;private ProvinceAdapter mProvinceAdapter;private String[] provinceNames new String[]{北京, 上海, 广东, 广西, 天津, 重庆, 湖北, 湖南, 河北, 河南, 山东};private int[] bgColor new int[]{R.color.color_00ff00, R.color.color_ff0000, R.color.color_ff0000, R.color.color_ffff00,R.color.color_8e35ef, R.color.color_303F9F, R.color.color_00ff00, R.color.color_ff0000, R.color.color_ff0000,R.color.color_ffff00, R.color.color_8e35ef};Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();}private void initView() {mGridView (GridView) this.findViewById(R.id.grid_view);ListProvinceBean provinceBeanList new ArrayList();for (int i 0; i provinceNames.length; i) {ProvinceBean provinceBean new ProvinceBean();provinceBean.setName(provinceNames[i]);provinceBean.setColor(bgColor[i]);provinceBeanList.add(provinceBean);}mProvinceAdapter new ProvinceAdapter(this, provinceBeanList);mGridView.setAdapter(mProvinceAdapter);}}程序中首先使用findViewById方法获取到了GridView控件接下来使用setAdapter方法给它设置提供数据的适配器。程序中引入了两份数据provinceNames 和bgColor其中provinceNames定义了依次显示在GridView各网格中的省份名称bgColor定义了依次显示在GridView网格中的省份名称的背景色这些只是为了更方便读者从视觉上认识GridView。
创建ProvinceAdapter.java文件实现数据在GridView中的展示
public class ProvinceAdapter extends BaseAdapter {private ListProvinceBean provinceBeanList;private LayoutInflater layoutInflater;public ProvinceAdapter(Context context, ListProvinceBean provinceBeanList) {this.provinceBeanList provinceBeanList;layoutInflater LayoutInflater.from(context);}Overridepublic int getCount() {return provinceBeanList.size();}Overridepublic Object getItem(int position) {return provinceBeanList.get(position);}Overridepublic long getItemId(int position) {return 0;}Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolder holder null;if (convertView null) {convertView layoutInflater.inflate(R.layout.province_grid_view_item_layout, null);holder new ViewHolder();holder.text (TextView) convertView.findViewById(R.id.text);convertView.setTag(holder);} else {holder (ViewHolder) convertView.getTag();}ProvinceBean provinceBean provinceBeanList.get(position);if (provinceBean ! null) {holder.text.setText(provinceBean.getName());holder.text.setBackgroundResource(provinceBean.getColor());}return convertView;}class ViewHolder {TextView text;}}ProvinceAdapter继承自BaseAdapter有几个必须实现的方法getCount()getItem(int position)getItemId(int position)和getView(int position, View convertView, ViewGroup parent)。其中getCount()返回需要展示的GridView的项数。getItem(int position)返回给定位置的数据对象。getItemId(int position)返回该项的行id。getView(int position, View convertView, ViewGroup parent)是必须要实现的方法该方法控制GridView中数据项的显示方法中的convertView视图是被复用的视图在实现时对其进行判断如果为null则新建视图否则直接复用视图。
上面程序的执行效果如下图所示 以上就是在flutter开发中的GridView控件介绍有关更多的flutter技术进阶学习可以参考《flutter3.0混合开发》点击可以查看详细类目。