Android GridView 实现九宫格效果(小恩爱首页效果)
来源:互联网 发布:淘宝旗下的是9块9包邮 编辑:程序博客网 时间:2024/04/29 11:05
1、效果图分享
更多详细请移至文章末尾下载Apk查看
2、代码分析
1.GridView item 布局xml
grid_item.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> <!-- 九宫格布局 --> <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_centerInParent="true" android:layout_marginBottom="10dp" android:layout_marginLeft="20dp" android:layout_marginRight="0dp" android:layout_marginTop="10dp" android:background="@drawable/shape_grid" android:paddingBottom="30dip" android:paddingLeft="17dip" android:paddingRight="17dip" android:paddingTop="30dip"> <ImageView android:id="@+id/iv_item" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" /> <TextView android:id="@+id/tv_item" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/iv_item" android:layout_centerHorizontal="true" android:layout_marginTop="5.0dip" android:maxLines="1" android:textSize="14.0sp" /> </RelativeLayout></RelativeLayout>
(drawable) shape_grid.xml
<?xml version="1.0" encoding="UTF-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:angle="90" android:endColor="#ffffffff" android:startColor="#ffffffff" /> <corners android:radius="10dp" /> <stroke android:width="1dip" android:color="#ffdddddd" /></shape>
2.GridView 使用布局页面
<GridView android:id="@+id/gridview" android:layout_width="fill_parent" android:layout_height="wrap_content" android:horizontalSpacing="1dp" android:listSelector="@null" android:numColumns="2" android:scrollbars="none" android:stretchMode="columnWidth" android:verticalSpacing="1dp" />
3.Adapter 中使用的BaseViewHolder
public class BaseViewHolder { @SuppressWarnings("unchecked") public static <T extends View> T get(View view,int id){ SparseArray<View> viewHolder = (SparseArray<View>)view.getTag(); if(viewHolder == null){ viewHolder = new SparseArray<View>(); view.setTag(viewHolder); } View childView = viewHolder.get(id); if(childView == null){ childView = view.findViewById(id); viewHolder.put(id,childView); } return (T)childView; }}
4.Adapter java文件
public class MyGridAdapter extends BaseAdapter { private Context mContext; List<String> mList; /*几张图片*/ public int[] imgs = new int[]{ R.drawable.jieri, R.drawable.place, R.drawable.jinianri, R.drawable.xingzuo, R.drawable.shengxiao, R.drawable.forbit, R.drawable.app, }; public MyGridAdapter(Context _mContext,ArrayList<String> _list){ this.mContext = _mContext; list = _list; } @Override public int getCount(){ return list.size(); } @Override public Object getItem(int position){ return list.get(position); } @Override public long getItemId(int position){ return position; } @Override public View getView(int position,View converttView,ViewGroup parent){ if(converttView == null){ converttView = LayoutInflater.from(mContext) .inflate(R.layout.grid_item,parent,false); } TextView tv = BaseViewHolder.get(converttView, R.id.tv_item); ImageView iv = BaseViewHolder.get(converttView,R.id.iv_item); iv.setBackgroundResource(imgs[position-1]); tv.setText(list.get(position)); return converttView; }}
5.Activity 使用
GridView gridView = (GridView)mParent.findViewById(R.id.gridview); List<String> list = new ArrayList<String>(); list.add("中国"); list.add("美国"); list.add("德国"); list.add("英国"); list.add("法国"); list.add("俄罗斯"); list.add("加拿大"); gridView.setAdapter(new MyGridAdapter(MainActivity.this,list));
3、更多效果图请下载Apk查看
下载看看
0 0
- Android GridView 实现九宫格效果(小恩爱首页效果)
- android Gridview九宫的效果实现
- android实现九宫格效果
- iOS实现九宫格效果
- iOS 实现九宫格效果
- Android实现九宫格 主界面应用列表效果
- Android GridView实现动画效果
- Android控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现
- Android控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现
- Android控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现
- Android 控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现
- Android控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现
- Android控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现
- Android控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现
- Android控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现
- Android控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现
- Android控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现
- Android控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现
- 苹果黑科技曝光:iPhone 7要用液态金属?
- lightoj - 1140 How Many Zeroes? (数位dp)
- Windows内核编程实现拦截Xuetr程序
- adb shell input 命令
- 不容易系列之一(hdu1465)错排+递推
- Android GridView 实现九宫格效果(小恩爱首页效果)
- f在这段时间的心情总结
- HOG在ZedBoard上的实现
- Hibernate的jar包的用途
- GoF模式
- ueditor1_4_3-utf8-jsp 配置实现上传图片的功能
- QT For Android 修改中文名称
- 硬盘内部硬件结构和工作原理详解
- BZOJ2819 Nim(dfs序+树状数组)