显示九宫格需要用GridView , 要显示每个格子中的视图有两种方式,第一种方式是做成xml文件,再将xml文件做成视图。第二种方式就是在代码中构建出这样一种布局,这里采用第一种方式来实现:

GridView:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"><!-- id gv_all宽高都是填充父窗体numcolums 为3水平控件的距离 10px垂直距离是10pxgridview 离底部58px离顶部28px离左边5px离右边5px  -->
<GridView android:id="@+id/gv_all"android:layout_height="fill_parent"android:layout_width="fill_parent"android:numColumns="3"android:horizontalSpacing="10px"android:verticalSpacing="10px"android:layout_marginBottom="58px"android:layout_marginTop="28px"android:layout_marginLeft="5px"android:layout_marginRight="5px"
></GridView></RelativeLayout>

视图:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="90px"android:layout_height="90px"><ImageView android:layout_width="64px"android:layout_height="64px"android:layout_gravity="center_horizontal"android:id="@+id/main_gv_iv"/><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:textSize="16px"android:textColor="#FFF"android:id="@+id/main_gv_tv"/>
</LinearLayout>

初始化:

public class MainActivity extends Activity {public static final String TAG = "MainActivity";GridView maingv;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//全屏getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);setContentView(R.layout.mainactivity);//获取到GridViewmaingv = (GridView) this.findViewById(R.id.gv_all);//给gridview设置数据适配器 maingv.setAdapter(new MainGridViewAdapter(this));//点击事件maingv.setOnItemClickListener(new MainItemClickListener()); }private class MainItemClickListener implements OnItemClickListener{/*** @param parent 代表当前的gridview * @param view 代表点击的item* @param position 当前点击的item在适配中的位置 * @param id 当前点击的item在哪一行*/public void onItemClick(AdapterView<?> parent, View view, int position,long id) {switch (position) {case 0:Intent intent = new Intent(MainActivity.this,LostProtectedActivity.class);startActivity(intent);break;}}}
}

设置数据适配器 :

// 完成gridview 数据到界面的适配
public class MainGridViewAdapter extends BaseAdapter {private static final String TAG = "MainGridViewAdapter";private String[] names = {"手机防盗","通讯卫士","软件管理","任务管理","上网管理","手机杀毒","系统优化","高级工具","设置中心"};private int[] icons = {R.drawable.safe,R.drawable.callmsgsafe,R.drawable.app,R.drawable.taskmanager,R.drawable.netmanager,R.drawable.trojan,R.drawable.sysoptimize,R.drawable.atools,R.drawable.settings};private Context context;LayoutInflater infalter;public MainGridViewAdapter(Context context) {this.context = context;//方法1 通过系统的service 获取到 试图填充器 //infalter = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);//方法2 通过layoutinflater的静态方法获取到 视图填充器infalter = LayoutInflater.from(context);}// 返回gridview里面有多少个条目 public int getCount() {return names.length;}//返回某个position对应的条目 public Object getItem(int position) {return position;}//返回某个position对应的idpublic long getItemId(int position) {return position;}//返回某个位置对应的视图 public View getView(int position, View convertView, ViewGroup parent) {Log.i(TAG,"GETVIEW "+ position);//把一个布局文件转换成视图View view = infalter.inflate(R.layout.mainactivity_item, null);ImageView iv =    (ImageView) view.findViewById(R.id.main_gv_iv);TextView  tv = (TextView) view.findViewById(R.id.main_gv_tv);//设置每一个item的名字和图标 iv.setImageResource(icons[position]);tv.setText(names[position]);return view;}
}

Android九宫格相关推荐

  1. android 九宫格轨迹密码

    最近因为项目需要用到九宫格密码(也叫手势轨迹密码),特地去学习了一下九宫格密码的实现原来.可能有人认为九宫格密码事例网上到处都有,很多甚至直接拷贝过来就可以运行为什么还要学习呢.还特地写到网上有必要吗 ...

  2. android 九宫格绘制,Android draw9patch.bat 九宫格绘制工具使用

    9patch是随文字大小可以缩放的图片. 定义了拉伸区域,则除拉伸区域可变外,其他区域保持原来的形状大小不变. 9patch 九宫格 9分图 它的四个角不作任何伸展,四个边分别只作水平和垂直伸展,中间 ...

  3. android 九宫格虚线,形状Drawable和九宫格

    形状Drawable 当你想动态画2维图形,ShapeDrawable对象是可能是你合适的选择.使用ShapeDrawable,你可以随意画出原始的形状并且应用到任何风格. ShapeDrawable ...

  4. android 九宫格封装,Android 九宫格的实现方法

    1.xml代码: android:orientation="vertical" android:layout_width="fill_parent" andro ...

  5. android九宫格密码源码,Android九宫格解锁的实现

    主要代码如下 xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_par ...

  6. android 九宫格带删除,Android--选择多张图片,支持拖拽删除、排序、预览图片

    这篇博客主要写仿微信朋友圈选择图片发朋友圈.整个功能包括加载图片,显示图片.相册文件夹.预览图片,九宫格显示已经选择好的图片等等. 效果图 2019-03-28_11_45_57 [320i].gif ...

  7. android 九宫格封装,Android 实现九宫格、点击图片放大全屏浏览等

    live_icon.jpg 1370473-587d9058f76372fb.gif 说说我的实现思路: 逐渐掌握了Android开发套路,是时候自己去封装一些东西了.网上看了一些例子,感觉不是我想要 ...

  8. Android 九宫格图片展示的实现

    添加图片效果图: 添加满 9 张图片效果图: 添加文件相关文章:<图片操作框架 TakePhoto 的引入> 长按删除图片效果图: 删除弹窗相关文章:<常用代码整理:Android ...

  9. Android 九宫格抽奖

    思路: 在开始绘制九宫格之前,我们先重写onMeasure方法,主要是为了让九宫格成为一个正方形, SurfaceView一般不是通过重写onDraw方法来绘制控件的,那么怎么获取到Canvas呢?主 ...

  10. Android - 九宫格

    前言 作为一个懂点Android的搬砖猿,作为一个有孩子的爸爸,看到孩子天天玩农药,就想着怎么减少他玩农药的时间.后来观察了他一段时间,总结出一个规律:他刚进游戏的时候会先去用钻石抽奖,看到转来转去的 ...

最新文章

  1. 2017-01-03
  2. swing 之FlowLayout 实现自动换行和滚动条添加
  3. ElasticSearch学习总结(三):查询总结
  4. Apache ZooKeeper - ZooKeeper 数据模型回顾
  5. Visual Studio Code之常备快捷键
  6. SQL拆分实现与注意事项
  7. 《Java 核心技术卷1 第10版》学习笔记------ Object类的 hashCode 方法
  8. boost::function模块右值的测试程序
  9. 增长黑客系列:今天比昨天增长多少?快使用环比函数来分析日志
  10. 12月16日课程安排
  11. 回溯算法--8皇后问题
  12. 【苹果cms10 Maccmsv10 站群深度定制版 开发日志】 新增日志模块
  13. 简单工厂模式、工厂方法模式与抽象工厂模式的区别(转)
  14. 在mysql 使用binlog日志
  15. docker安装oracle11g最全步骤
  16. 武士2复仇 Unity游戏工程+源码
  17. js获取浏览器内各种高度宽度总结
  18. 一键拼接所有微信好友头像
  19. 社会统计分析—基础知识
  20. Cannot reach ADB server, attempting to reconnect. 或 list of devices attached(解决方案的最全整理)

热门文章

  1. 《上帝掷骰子吗》人物八卦之费因曼
  2. D1. RPD and Rap Sheet (Easy Version) (交互题+构造)
  3. 科技新发现:新型高熵合金的诞生!
  4. 在网页上播放多种后缀的视频文件的临时解决方案
  5. 微信公众号测试获取code
  6. mapbox使用,包括绘制、加载、修改、删除点和面,显示弹框等
  7. HTML5英文响应式卡通设计师个人简历模板
  8. C++ 自创钉钉直播刷赞器
  9. 技术面试 - Java SE
  10. 树莓派从零开始快速入门第5讲——点亮LED