基于GridView的程序菜单

news/2024/8/26 20:23:09 标签: 移动开发, java

res/layout/main.xml

<?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"> <GridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/MyGridView" android:layout_alignParentTop="true" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="50dp" android:columnWidth="90dp" android:stretchMode="columnWidth" android:numColumns="auto_fit" android:horizontalSpacing="10dp" android:verticalSpacing="10dp" android:gravity="center"> </GridView> <TextView android:id="@+id/MyTextView" android:layout_alignParentBottom="true" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textStyle="bold" android:text="基于GridView的菜单" android:textColor="@android:color/white" android:gravity="center" /> </RelativeLayout>


res/layout/item.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"> <ImageView android:id="@+id/ItemImageView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center"/> <TextView android:id="@+id/ItemTextView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center"/> </LinearLayout>


GridViewTestActivity.java

package com.zeph.android.gridview; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.GridView; import android.widget.SimpleAdapter; import android.widget.Toast; public class GridViewTestActivity extends Activity { private GridView mGridView; private int[] imageRes = { R.drawable.png1, R.drawable.png2, R.drawable.png3, R.drawable.png4, R.drawable.png5, R.drawable.png6, R.drawable.png7, R.drawable.png8, R.drawable.png9 }; private String[] itemName = { "PNG1", "PNG2", "PNG3", "PNG4", "PNG5", "PNG6", "PNG7", "PNG8", "PNG9" }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mGridView = (GridView) findViewById(R.id.MyGridView); List<HashMap<String, Object>> data = new ArrayList<HashMap<String, Object>>(); int length = imageRes.length; for (int i = 0; i < length; i++) { HashMap<String, Object> map = new HashMap<String, Object>(); map.put("ItemImageView", imageRes[i]); map.put("ItemTextView", itemName[i]); data.add(map); } SimpleAdapter mSimpleAdapter = new SimpleAdapter( GridViewTestActivity.this, data, R.layout.item, new String[] { "ItemImageView", "ItemTextView" }, new int[] { R.id.ItemImageView, R.id.ItemTextView }); mGridView.setAdapter(mSimpleAdapter); mGridView.setOnItemClickListener(new GridViewItemOnClick()); } public class GridViewItemOnClick implements OnItemClickListener { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Toast.makeText(getApplicationContext(), position + "", Toast.LENGTH_SHORT).show(); } } }


图片资源来自:http://preview.zcool.com.cn/preview/new_png/218/


http://www.niftyadmin.cn/n/1000275.html

相关文章

UDP怎么会返回Connection refused错误

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01;有时候&#xff0c;写UDP socket程序的时候&…

清理内存的命令

前提: 释放前最好sync一下&#xff0c;防止丢数据 方法1 1.清理前内存使用情况 1free -m2.开始清理 1echo 3 > /proc/sys/vm/drop_caches3.清理后内存使用情况 1free -m方法2 1、首先查看linux内存使用 1free -m2、把内存数据同步到硬盘 1sync3、修改 /proc/sys/vm/drop_…

使用Service播放音乐

res/layout/main.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android" android:orientation"vertical" android:layout_width"fill_parent" an…

Android实战技巧:如何在ScrollView中嵌套ListView

前几天因为项目的需要&#xff0c;要在一个ListView中放入另一个ListView&#xff0c;也即在一个ListView的每个ListItem中放入另外一个ListView。但刚开始的时候&#xff0c;会发现放入的小ListView会显示不完全&#xff0c;它的高度始终有问题。上网查了下&#xff0c;发现别…

国内TCP单边 加速 的 正确 做法

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01;我一直认为&#xff0c;这是一个丑行&#x…

Git错误non-fast-forward

Git错误non-fast-forward后的冲突解决 [日期&#xff1a;2012-04-21]来源&#xff1a;Linux社区 作者&#xff1a;chain2012[字体&#xff1a;大 中 小]当要push代码到git时&#xff0c;出现提示&#xff1a; error:failed to push some refs to ... Dealing with “non-fast-…

Android实战技巧:ViewStub的应用

在开发应用程序的时候&#xff0c;经常会遇到这样的情况&#xff0c;会在运行时动态根据条件来决定显示哪个View或某个布局。那么最通常的想法就是把可能用到的View都写在上面&#xff0c;先把它们的可见性都设为View.GONE&#xff0c;然后在代码中动态的更改它的可见性。这样的…

关于Linux TCP接收缓存以及接收窗口的一个细节解析

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01;关于TCP的接收缓存以及通告窗口&#xff0c;…