溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android怎么實現(xiàn)和uc瀏覽器一樣的菜單

發(fā)布時間:2021-07-22 09:53:19 來源:億速云 閱讀:108 作者:chen 欄目:移動開發(fā)

本篇內容介紹了“Android怎么實現(xiàn)和uc瀏覽器一樣的菜單”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

菜單開發(fā)也是程序員經(jīng)常需要關注的,如何使菜單變得更加方便用戶使用是每一個開發(fā)者都要面臨的實際問題,今天給Android開發(fā)者介紹一下如何開發(fā)出像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() {              //監(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瀏覽器一樣的菜單”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI