日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
Android如何實現(xiàn)uc瀏覽器一樣的菜單

菜單開發(fā)也是程序員經常需要關注的,如何使菜單變得更加方便用戶使用是每一個開發(fā)者都要面臨的實際問題,今天給Android開發(fā)者介紹一下如何開發(fā)出像UC瀏覽器一樣的菜單。使用AlertDialog生成菜單,利用setView()方法設置菜單視圖。

成都創(chuàng)新互聯(lián)專注于企業(yè)成都全網營銷、網站重做改版、永寧網站定制設計、自適應品牌網站建設、H5高端網站建設、成都商城網站開發(fā)、集團公司官網建設、成都外貿網站建設、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為永寧等各大城市提供網站開發(fā)制作服務。

布局如下:

1、菜單布局

利用GridView

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

<
LinearLayout xmlns:android
=
"
http://schemas.android.com/apk/res/android
"
  
    android:layout_width
=
"
wrap_content
"
 android:layout_height
=
"
wrap_content
"
  
    android:orientation
=
"
vertical
"
>
  
    
<
GridView android:id
=
"
@+id/menu
"
  
        android:layout_width
=
"
fill_parent
"
  
        android:layout_height
=
"
fill_parent
"
  
        android:numColumns
=
"
2
"
  
         android:verticalSpacing
=
"
5dip
"
  
         android:horizontalSpacing
=
"
5dip
"
  
         android:stretchMode
=
"
columnWidth
"
  
         android:gravity
=
"
center
"
>GridView
>
  

LinearLayout
>
  

2、每一個item的布局

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

<
RelativeLayout xmlns:android
=
"
http://schemas.android.com/apk/res/android
"
  
    android:id
=
"
@+id/RelativeLayout_Item
"
 android:layout_width
=
"
wrap_content
"
  
    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:layout_below
=
"
@id/item_image
"
 android:id
=
"
@+id/item_text
"
  
        android:layout_centerHorizontal
=
"
true
"
 android:layout_width
=
"
wrap_content
"
  
        android:layout_height
=
"
wrap_content
"
 android:text
=
"
選項
"
>TextView
>
  

RelativeLayout
>
  

主程序代碼如下:

代碼比較簡單,注釋非常詳細

package com.cloay.down.utils;  
  
import java.util.ArrayList;  
import java.util.HashMap;  
  
import com.cloay.down.R;  
  
import android.app.AlertDialog;  
import android.content.Context;  
import android.view.View;  
import android.widget.AdapterView;  
import android.widget.AdapterView.OnItemClickListener;  
import android.widget.GridView;  
import android.widget.SimpleAdapter;  

/**
 

*
 菜單工具類 

*
 MenuUtil.java 

*
 @author cloay 

*
 
2011
-
10
-
25
 

*/
  

public
 class MenuUtil {  
    
private
 static AlertDialog menuDialog;
//
 menu菜單Dialog  
    
private
 static GridView menuGrid;  
      
    
/**
 菜單圖片 
**/
  
    static 
int
[] menu_image_array 
=
 { R.drawable.menu_open_in_background, R.drawable.menu_redownload, R.drawable.menu_detail, R.drawable.menu_delete };  
    
/**
 菜單文字 
**/
  
    static 
String
[] menu_name_array 
=
 { 
"
打開
"

"
重新下載
"

"
詳細
"

"
刪除
"
};  
    
public
 static void ShowMenuDialog(final Context context){  
        View menuView 
=
 View.inflate(context, R.layout.menu, 
null
);  
        menuDialog 
=
 
new
 AlertDialog.Builder(context)  
        .setView(menuView)  
        .create();  
        menuDialog.show();  
        menuGrid  
=
 (GridView) menuView.findViewById(R.id.menu);  
        menuGrid.setAdapter(getMenuAdapter(context, menu_name_array, menu_image_array));  
        menuGrid.setOnItemClickListener(
new
 OnItemClickListener() {  
            
//
監(jiān)聽menu按鈕事件  
            @Override  
            
public
 void onItemClick(AdapterView
<
?
>
 parent, View view,  
                    
int
 position, 
long
 id) {  
                switch(position){  
                
case
 
0
:     
//
open file  
                      
                    break;  
                
case
 
1
:     
//
redownload 重新下載  
                      
                    break;  
                
case
 
2
:     
//
file details    
                      
                    break;  
                
case
 
3
:     
//
delete file  
                      
                    break;  
                }  
            }  
        });  
    }  
      
    
/**
 
     
*
 為menuGrid設置Adapter 
     
*
 @param context 
     
*
 @param menuNameArray 
     
*
 @param imageResourceArray 
     
*
 @return 
     
*/
  
    
private
 static SimpleAdapter getMenuAdapter(Context context, 
String
[] menuNameArray,  
            
int
[] imageResourceArray) {  
        ArrayList
<
HashMap
<
String

Object
>>
 data 
=
 
new
 ArrayList
<
HashMap
<
String

Object
>>
();  
        
for
 (
int
 i 
=
 
0
; i 
<
 menuNameArray.length; i
++
) {  
            HashMap
<
String

Object
>
 map 
=
 
new
 HashMap
<
String

Object
>
();  
            map.put(
"
itemImage
"
, imageResourceArray[i]);  
            map.put(
"
itemText
"
, menuNameArray[i]);  
            data.add(map);  
        }  
        SimpleAdapter simperAdapter 
=
 
new
 SimpleAdapter(context, data,  
                R.layout.item_menu, 
new
 
String
[] { 
"
itemImage
"

"
itemText
"
 },  
                
new
 
int
[] { R.id.item_image, R.id.item_text });  
        return simperAdapter;  
    }  
}  


網站標題:Android如何實現(xiàn)uc瀏覽器一樣的菜單
URL網址:http://www.5511xx.com/article/ccehdsg.html