Android基础篇之底部菜单栏的编辑


先看效果图: 如下

下面是代码部分:

1. 在main.xml中添加GridView

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <RelativeLayout xmlns:Android="http://schemas.android.com/apk/res/android"  
  3.     android:background="@drawable/background"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent"  
  6.     >  
  7.     <GridView  
  8.         android:id="@+id/grid_view"  
  9.         android:layout_width="fill_parent"  
  10.         android:layout_height="wrap_content"  
  11.         android:layout_alignParentBottom="true"  
  12.         android:numColumns="5"  
  13.         android:horizontalSpacing="10dp"  
  14.         android:verticalSpacing="10dp">  
  15.     </GridView>  
  16. </RelativeLayout>  

2.注意:菜单栏中的每一子项都需要一个布局文件

如上图 是一个垂直布局的LinearLayout

menu_item.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.   android:orientation="vertical"  
  4.   android:layout_width="wrap_content"  
  5.   android:layout_height="wrap_content">  
  6.   <ImageView  
  7.     android:id="@+id/item_iamge"  
  8.     android:layout_width="wrap_content"  
  9.     android:layout_height="wrap_content"  
  10.     android:layout_gravity="center_horizontal"  
  11.     />  
  12.   <TextView  
  13.     android:id="@+id/item_text"  
  14.     android:layout_width="wrap_content"  
  15.     android:layout_height="wrap_content"  
  16.     android:layout_gravity="center_horizontal"/>  
  17. </LinearLayout>  

3.主要代码部分  MainActivity.java

  1. package com.yin.bottom_menu;  
  2. import java.util.ArrayList;  
  3. import java.util.HashMap;  
  4. import android.app.Activity;  
  5. import android.os.Bundle;  
  6. import android.widget.GridView;  
  7. import android.widget.SimpleAdapter;  
  8. public class MainActivity extends Activity {  
  9.     //图片���源   
  10.     private static int[] images = {  
  11.         R.drawable.menu_add_new,  
  12.         R.drawable.menu_delete,  
  13.         R.drawable.menu_exit,  
  14.         R.drawable.menu_search,  
  15.         R.drawable.menu__list  
  16.     };  
  17.     //菜单栏中的文字显示   
  18.     private static String[] menu_texts = {  
  19.         "增加","删除","退出","查找","菜单"  
  20.     };  
  21.       
  22.     private ArrayList<HashMap<String,Object>> menu_data ;  
  23.       
  24.     private GridView grid_view;  
  25.       
  26.     public void onCreate(Bundle savedInstanceState) {  
  27.         super.onCreate(savedInstanceState);  
  28.         setContentView(R.layout.main);  
  29.           
  30.         init_menu();  
  31.     }  
  32.     //初始化底部菜单栏   
  33.     private void init_menu(){  
  34.         grid_view = (GridView) findViewById(R.id.grid_view);  
  35.           
  36.         add_menu_data();  
  37.           
  38.         //向菜单栏中的控件添加适配其   
  39.         SimpleAdapter adapter = new SimpleAdapter(this, menu_data, R.layout.menu_item,  
  40.                 new String[]{"menu_image","menu_text"}, new int[]{R.id.item_iamge,R.id.item_text});  
  41.           
  42.         grid_view.setAdapter(adapter);  
  43.     }  
  44.     //添加菜单栏中显示的数据   
  45.     private void add_menu_data(){  
  46.         menu_data = new ArrayList<HashMap<String,Object>>();  
  47.         for(int i=0;i<images.length;i++){  
  48.             HashMap<String,Object> map = new HashMap<String, Object>();  
  49.             map.put("menu_image", images[i]);  
  50.             map.put("menu_text", menu_texts[i]);  
  51.             menu_data.add(map);  
  52.         }  
  53.     }  
  54. }  

相关内容