Android中GridView使用的方法有以下几步骤:
<GridView
android:id="@+id/gridview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="auto_fit"
android:columnWidth="100dp"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
/>
其中,numColumns属性用于设置列数,columnWidth属性用于设置每列的宽度,verticalSpacing属性用于设置行间距,horizontalSpacing属性用于设置列间距,stretchMode属性用于设置子项的宽度是否平均分配。
GridView gridView = findViewById(R.id.gridview);
gridView.setAdapter(adapter);
其中,adapter为Gridview的适配器,用于设置子项的内容和样式。
public class MyAdapter extends BaseAdapter {
private Context mContext;
private List<String> mData;
public MyAdapter(Context mContext, List<String> mData) {
this.mContext = mContext;
this.mData = mData;
}
@Override
public int getCount() {
return mData.size();
}
@Override
public Object getItem(int position) {
return mData.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if(convertView == null){
convertView = LayoutInflater.from(mContext).inflate(R.layout.grid_item, null);
viewHolder = new ViewHolder();
viewHolder.textView = convertView.findViewById(R.id.textview);
convertView.setTag(viewHolder);
}else{
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.textView.setText(mData.get(position));
return convertView;
}
private static class ViewHolder{
TextView textView;
}
}
在getView()方法中,将子项的内容设置为mData中对应位置的数据。
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"/>
</LinearLayout>
可以根据需求自定义子项的布局及样式。
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// 处理点击事件
}
});
可以在onItemClick()方法中处理GridView子项的点击事件。
以上就是使用GridView的基本方法,通过适配器设置子项的内容和样式,可以实现自定义的GridView布局。