android gridview 菜单,Android控件GridView实现菜单界面

3a5629f9ae152af73caa9163b3d348c6.png

GirdView为九宫格式布局,加入图片即文字做出菜单

bf153b0ed876a130768e6afefd0be493.png

activiyy_main.xml

>

android:numColumns 设置一排的列数(参数auto_fit表示自适应)

android:horizontalSpacing="" 设置水平间距

android:verticalSpacing="" 设置垂直间距

九宫格的单个元素

f7c246a4a0d9de90cd1eed0f094faf3d.png

item.xml

>

/>

/>

每个元素有ImageView控件和TextView组成,

android:layout_marginTop=""             设置TextView顶部与ImageView的间距

设置颜色,背景为黑色。

MainActivity.java

importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importandroid.support.v7.app.ActionBarActivity;importandroid.os.Bundle;importandroid.view.Menu;importandroid.view.MenuItem;importandroid.view.View;importandroid.view.Window;importandroid.widget.AdapterView;importandroid.widget.AdapterView.OnItemClickListener;importandroid.widget.GridView;importandroid.widget.SimpleAdapter;importandroid.widget.Toast;public class MainActivity extends ActionBarActivity implementsOnItemClickListener{privateGridView gridView;private List>datalist;private int[] icon ={

R.drawable.address_book, R.drawable.calendar, R.drawable.camera,

R.drawable.clock, R.drawable.games_control, R.drawable.messenger,

R.drawable.ringtone, R.drawable.settings, R.drawable.speech_balloon,

R.drawable.weather, R.drawable.world, R.drawable.youtube

};private String[] icon_name ={"通讯录", "日历", "照相机","时钟", "游戏", "短信","铃声", "设置", "语言","天气", "浏览器", "视频"};privateSimpleAdapter adapter;

@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.activity_main);

gridView=(GridView) findViewById(R.id.gridView);

datalist= new ArrayList>();

adapter= new SimpleAdapter(this, getData(), R.layout.item,new String[]{"image", "text"}, new int[]{R.id.image, R.id.text});//添加适配器和监听器

gridView.setAdapter(adapter);

gridView.setOnItemClickListener(this);

}private List>getData() {for(int i = 0; i

Map map = new HashMap();

map.put("image", icon[i]);

map.put("text", icon_name[i]);

datalist.add(map);

}returndatalist;

}//监听单击事件

@Overridepublic void onItemClick(AdapterView> parent, View view, intposition,longid) {//显示消息,指定消息显示的时长

Toast.makeText(this, "我是"+icon_name[position], Toast.LENGTH_SHORT).show();

}

}

图片资源放入对应drawable文件夹下

d8a3476b0f654c0364bbc61021aff9ab.png

GridView对应的适配器使用SimpleAdapter,数据用ArrayList>();

getData()函数对datalist赋值,数组icon和icon_name存放图片资源和字符串资源。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值