Android 九宫格

  如下代码直接复制到项目就可以运行使用了。我们都知道,android的九宫格可以用GridView控件实现,这里首先定义一个

  gridview.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <GridView
        android:id="@+id/gv_home"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:numColumns="3" >
    </GridView>

</LinearLayout>

  接着还得在定义一个gridview_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical" >
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/iv_icon"
        android:src="@drawable/ic_launcher"
        />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv_title"
        android:text="模块标题"
        android:textSize="18sp"
        />

</LinearLayout>

  那么现在布局就实现了,接下来就是Android代码了。这里需要注意的就是不能缺少GridView适配器。

  

public class MainActivity extends Activity {
    private GridView gv_home;
    private String[] mTitleStrs;
    private int[] mDrawableIds;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);
        initUI();
        //初始化数据的方法
        initData();
    }

    private void initData() {

        mTitleStrs = new String[]{"1","2","3","4",
                "5","6","7","8","9"};//注意这里的数字要和下面的图片id一一对应,要不然实现的效果会文字图片不符合
        mDrawableIds = new int[]{R.drawable.ic_launcher,R.drawable.ic_launcher,
                                    R.drawable.ic_launcher,R.drawable.ic_launcher,
                                    R.drawable.ic_launcher,R.drawable.ic_launcher,
                                    R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher};
        //九宫格控件设置数据适配器(等同ListView数据适配器)
        gv_home.setAdapter(new MyAdapter());
    }

    class MyAdapter extends BaseAdapter{

        @Override
        public int getCount() {
            return mTitleStrs.length;
        }

        @Override
        public Object getItem(int position) {
            return mTitleStrs[position];
        }

        @Override
        public long getItemId(int position) {
            return position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View view = View.inflate(getApplicationContext(), R.layout.gridview_item, null);
            ImageView iv_icon = (ImageView) view.findViewById(R.id.iv_icon);
            TextView tv_title = (TextView) view.findViewById(R.id.tv_title);

            tv_title.setText(mTitleStrs[position]);
            iv_icon.setBackgroundResource(mDrawableIds[position]);

            return view;
        }
    }
    private void initUI() {
        gv_home = (GridView) findViewById(R.id.gv_home);
    }
}
时间: 2024-10-16 14:26:17

Android 九宫格的相关文章

IOS仿Android九宫格解锁效果[转]

原理很简单,监听view中touch的一系列事件,当判定手指位置在某个按钮附近的时候则判断此按钮选中,并画出线. 效果图如下: 你可以在NineGridUnlockView.m文件中方法 touchesEnded:withEvent: 的最后添加自己的代码来决定画线完成后来做什么. (当前工程还没有加入委托,后续可能加上) 代码地址: https://github.com/lcwangchao/NineGridUnlocker IOS仿Android九宫格解锁效果[转]

Android九宫格界面实现点击每个格点击跳转界面

刚开始有个任务就是做一个九宫格界面,后来有个任务就是实现点击每个格并跳转界面实现每个格的功能.下面我就介绍一下我是如何实现该功能的 首先写一下我的想法是: 登录成功后显示一个九宫格界面,每个九宫格的每一个都是一个功能模块,当点击每个模块时,就会跳转到相应的界面并实现该模块所具备的功能. 下面是以"综合实践管理系统"这个格来实现的,当我们点击该按钮时,他就会跳转到"学生综合实践模块积分申请表"这个界面然后我们通过下拉菜单选择自己想要申请的项目.然后点击"下一

Android九宫格解锁的实现

演示效果如下 主要代码如下 布局文件如下: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent&q

Android 九宫格密码锁进入程序

设置九宫格密码锁进入程序,设置,重置,取消等,安卓巴士地址http://www.apkbus.com/forum.php?mod=viewthread&tid=182620&extra= 源码运行截图: 代码:这里

android 九宫格(16宫格)控件

public class NineRectView extends ViewGroup { private Context ctx; private int wSize,hSize,row,column,count,childWidth,childHeight,parent_padding_top_bottom;//布局方式按照默认wSize=Hsize //间距都相同 private int childMargin =4; private int parent_padding; private

安卓开发_九宫格布局

学习内容来自 android布局基础及范例:人人android九宫格布局 , 类似的九宫格 上面是图片,下面是文字 这里用的是“GridView”表格布局,下面我来给大家讲一下: 首先,请大家理解一下“迭代显示”这个概念,这个好比布局嵌套,我们在一个大布局里面重复的放入一些布局相同的小布局, 那些重复的部分是由图片和文字组成的小控件,图片在上方,文字在下方,之后我们只需要把这些小控件迭代进入主容器里即可. 首先看看主容器的布局 1 <?xml version="1.0" enco

最新最全的 Android 开源项目合集

原文链接:https://github.com/opendigg/awesome-github-android-ui 在 Github 上做了一个很新的 Android 开发相关开源项目汇总,涉及到 Android 开发的方方面面,基本很全了.对 Android 开发感兴趣的欢迎 Star ,后续也会定期维护更新这个列表.当然,你也可以去 opendigg 上查看. -- 由欧戈分享 awesome-github-android-ui 是由OpenDigg整理并维护的安卓UI相关开源项目库集合.

Android UI相关开源项目库汇总

最近做了一个Android UI相关开源项目库汇总,里面集合了OpenDigg 上的优质的Android开源项目库,方便移动开发人员便捷的找到自己需要的项目工具等,感兴趣的可以到GitHub上给个star. 抽屉菜单 MaterialDrawer ★7337 - 安卓抽屉效果实现方案 Side-Menu.Android ★3865 - 创意边侧菜单 FlowingDrawer ★1744 - 向右滑动流动抽屉效果 SlidingRootNav ★1338 - 仿DrawerLayout的View

android项目大全,总有你所需的

注:打开请贴网址.有些直接通过链接打开的不对. 1.相对布局实例 http://kukuqiu.iteye.com/blog/1018396 2.Log图文具体解释(Log.v,Log.d,Log.i,Log.w,Log.e)(转) http://www.cnblogs.com/menglin2010/archive/2011/12/20/2294338.html3. getResources()方法的作用和要点http://blog.sina.com.cn/s/blog_9f4bc8e3010