展会信息港展会大全

android开发 SimpleAdapter适配器
来源:互联网   发布日期:2015-10-02 16:13:30   浏览:2204次  

导读:新建项目:项目结构:drawable-hdpi文件夹中的图片是自己加入的。主要是在菜单选项中显示的图片:运行效果:代码部分:main.xml?xml version=1.0 encoding=utf-8?RelativeLayout xmlns:android=http:......

新建项目:

项目结构:

drawable-hdpi文件夹中的图片是自己加入的。主要是在菜单选项中显示的图片:

运行效果:

代码部分:

main.xml

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

<!-- 菜单选项的布局,设置高为"65sp",位置是在父窗口的底部,设置为不可见-->

<GridView

android:id="@+id/gv_buttom_menu"

android:layout_width="fill_parent"

android:layout_height="65sp"

android:layout_alignParentBottom="true"

android:visibility="gone"

></GridView>

</RelativeLayout>

item_menu.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="wrap_content"

android:paddingBottom="5dip"

>

<!-- 这个布局文件是用来布局菜单选项的 -->

<!-- 菜单中图片的显示 -->

<ImageView

android:id="@+id/item_image"

android:layout_centerHorizontal="true"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

></ImageView>

<!-- 菜单中图片下面的文字 -->

<TextView

android:id="@+id/item_text"

android:layout_below="@id/item_image"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerHorizontal="true"

></TextView>

</RelativeLayout>

MainActivity.java

package com.b510;

import java.util.ArrayList;

import java.util.HashMap;

import android.app.Activity;

import android.os.Bundle;

import android.view.Gravity;

import android.view.KeyEvent;

import android.view.View;

import android.widget.GridView;

import android.widget.SimpleAdapter;

public class MainActivity extends Activity {

/** 定义底部菜单选项 */

GridView gv_buttom_menu;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

/**

* 当按键被按下的时候调用此方法

*/

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

if (keyCode == KeyEvent.KEYCODE_MENU) {

if (gv_buttom_menu == null) {

loadButtomMenu();

}

// 默认情况下面是View.GONE

if (gv_buttom_menu.getVisibility() == View.GONE) {

gv_buttom_menu.setVisibility(View.VISIBLE);// 菜单设置可见

} else {

gv_buttom_menu.setVisibility(View.GONE);// 菜单设置不可见

}

}

return super.onKeyDown(keyCode, event);

}

/**

* 加载菜单

*/

private void loadButtomMenu() {

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

// 设置菜单选项的背景图片

gv_buttom_menu.setBackgroundResource(R.drawable.channelgallery_bg);

// 设置列数,为5列

gv_buttom_menu.setNumColumns(5);

// 设置位置

gv_buttom_menu.setGravity(Gravity.CENTER);

// 垂直间隔10

gv_buttom_menu.setVerticalSpacing(10);

// 水平间隔10

gv_buttom_menu.setHorizontalSpacing(10);

ArrayList data = new ArrayList();

// 定义菜单选项的图片和文字

// 增加菜单

HashMap map = new HashMap();

map.put("itemImage", R.drawable.menu_new_user);

map.put("itemText", "增加");

data.add(map);

// 查找菜单

map = new HashMap();

map.put("itemImage", R.drawable.menu_search);

map.put("itemText", "查找");

data.add(map);

// 删除菜单

map = new HashMap();

map.put("itemImage", R.drawable.menu_delete);

map.put("itemText", "删除");

data.add(map);

// 菜单选项

map = new HashMap();

map.put("itemImage", R.drawable.controlbar_showtype_list);

map.put("itemText", "菜单");

data.add(map);

// 退出菜单

map = new HashMap();

map.put("itemImage", R.drawable.menu_exit);

map.put("itemText", "退出");

data.add(map);

// 设置SimpleAdapter

// 1.Context 上下文

// 2.data 是菜单中显示数据信息,包括图片和说明文字

// 3.R.layout.item_ment 从data中取出数据map类型,用此布局文件来展示数据信息,包括图片和说明文字

// 4,5 是将data和布局文件联系起来

// 4 放入map中的key值

// 5 按照map中的key值,把相应的数据传递过来,最后展现出来

SimpleAdapter adapter = new SimpleAdapter(this, data,

R.layout.item_menu, new String[] { "itemImage", "itemText" },

new int[] { R.id.item_image, R.id.item_text });

// gv_buttom_menu只是负责展现,他是没有数据的

// adapter是把展现方式和数据联系在一起的一种工具,按照某种特定方式展现出来

gv_buttom_menu.setAdapter(adapter);

}

}

赞助本站

人工智能实验室

相关热词: SimpleAdapter 适配器

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港