2017.4.28
安卓作业:九宫格
问题详见
使用GridView和SimpleAdapter实现手机界面常见的的九宫格,图片可以任意选择,注意图片的大小要一致。
思路分析
1.在主界面创建一个LinearLayout用于加载fragment
2.创建一个3列的GridView
3.创建一个图片的xml布局
4.java语言编写
xml界面
GridView
<GridView
android:id="@+id/grid_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:numColumns="3" ---设置为3列
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:columnWidth="90dp"
android:stretchMode="columnWidth"
android:gravity="center"/>
ImageView
<ImageView
android:layout_width="100dp"
android:layout_height="150dp" --这个大小差不多将手机屏幕充满
android:id="@+id/image_view"
android:src="@mipmap/ic_launcher"
/>
java代码
1.创建对象。
public class ClassInfo {
private int imgId;
public ClassInfo( int imgId) { //定义对象的方法
this.imgId = imgId;
}
public int getImgId() { //获取图片的id的方法
return imgId;
}
}
2.创建一个继承于BaseAdapter的类,并将其方法写入。
重写getVIew()方法
public View getView(int i, View view, ViewGroup viewGroup) {
//获取view
if(view==null){
view = LayoutInflater.from(context).inflate(R.layout.gridview_item,null);
}
ImageView img =(ImageView) view.findViewById(R.id.image_view);
ClassInfo classInfo = datas.get(i);
img.setImageResource(classInfo.getImgId());
return view;
}
3.增加相应的图片数据。
List<ClassInfo> datas = new ArrayList<>();
datas.add(new ClassInfo(R.drawable.renwu1)); //9张图,此处省略写
final CustomGridViewAdapter adapter = new CustomGridViewAdapter(getActivity(),datas);
GridView gridView = (GridView)view.findViewById(R.id.grid_view);
gridView.setAdapter(adapter);//绑定adapter到GridView中
4.静态增加数据到布局中
FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
if (gridViewFragment == null) {
gridViewFragment = new GridViewFragment();
transaction.add(R.id.show ,gridViewFragment);
}
transaction.replace(R.id.show, gridViewFragment);
transaction.commit(); //这句话一定要写,不写不会显示结果
结果展示

浙公网安备 33010602011771号