您好,登錄后才能下訂單哦!
本篇內容介紹了“Android怎么實現和uc瀏覽器一樣的菜單”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
菜單開發也是程序員經常需要關注的,如何使菜單變得更加方便用戶使用是每一個開發者都要面臨的實際問題,今天給Android開發者介紹一下如何開發出像UC瀏覽器一樣的菜單。使用AlertDialog生成菜單,利用setView()方法設置菜單視圖。
布局如下:
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() { //監聽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怎么實現和uc瀏覽器一樣的菜單”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。