最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android實現(xiàn)模仿UCweb菜單效果的方法

 更新時間:2015年10月15日 14:52:42   作者:白羽雕弓  
這篇文章主要介紹了Android實現(xiàn)模仿UCweb菜單效果的方法,較為詳細的分析了Android模仿UCweb菜單效果的頁面布局及功能實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了Android實現(xiàn)模仿UCweb菜單效果的方法。分享給大家供大家參考。具體如下:

UCWeb的菜單看起來不錯,自己模仿做一個,思路實現(xiàn)如下:

1、保留menu按鍵作用
2、用popupwindow作為菜單顯示容器
3、用GridView顯示所有子菜單

代碼如下:

1、布局文件:

popupwindow.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:background="#50000000"
 android:layout_height="fill_parent"
 android:gravity="bottom|center_horizontal">
 <LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="320dip"
  android:background="@drawable/bkg2"
  android:id="@+id/popdialog"
  android:layout_height="250dip"
  android:gravity="center_vertical|center_horizontal"
  >
  <GridView
   android:id="@+id/gridview"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:numColumns="4"
   android:verticalSpacing="10dip"
   android:horizontalSpacing="10dip"
   android:stretchMode="columnWidth"
   android:gravity="center"
   />
 </LinearLayout>
</LinearLayout>

item_menu.xml:

<?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="fill_parent" android:layout_height="wrap_content"
 android:paddingBottom="5dip">
 <ImageView android:id="@+id/item_image"
  android:layout_centerHorizontal="true" 
  android:layout_width="40dip"
  android:layout_height="40dip">
  </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" 
  style="@style/Text.Location"
  android:text="選項"></TextView>
</RelativeLayout>

2、用popupwindow作為菜單顯示容器:

View view = this.getLayoutInflater().inflate(R.layout.popwindowdemo, null);
pop = new PopupWindow(view,320,450);//大小設置為全屏幕,這里硬編碼的,可修改
pop.setOutsideTouchable(false);
pop.setBackgroundDrawable(new BitmapDrawable());
pop.setFocusable(true);//如果不加這個,Grid不會響應ItemClick
pop.setTouchInterceptor(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
 // TODO Auto-generated method stub
 if (event.getY()<240){ //這里處理,當點擊gridview以外區(qū)域的時候,菜單關(guān)閉
  if (pop.isShowing())
   pop.dismiss();
 }
 Log.d("Demo", "popupWindow::onTouch >>> view: "
   + v + ", event: " + event);
 return false;
}
});

3、初始化gridview:

/** 菜單圖片 **/
int[] menu_image_array = { R.drawable.menu_search,
   R.drawable.menu_filemanager, R.drawable.menu_downmanager,
   R.drawable.menu_fullscreen, R.drawable.menu_inputurl,
   R.drawable.menu_bookmark, R.drawable.menu_bookmark_sync_import,
   R.drawable.menu_sharepage, R.drawable.menu_quit,
   R.drawable.menu_nightmode, R.drawable.menu_refresh,
   R.drawable.menu_more };
/** 菜單文字 **/
String[] menu_name_array = { "搜索", "文件管理", "下載管理", "全屏", "網(wǎng)址", "書簽",
 "加入書簽", "分享頁面", "退出", "夜間模式", "刷新", "更多" };
/**
* 構(gòu)造菜單Adapter
* 
* @param menuNameArray
*   名稱
* @param imageResourceArray
*   圖片
* @return SimpleAdapter
*/
private SimpleAdapter getMenuAdapter(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(this, data,
  R.layout.item_menu, new String[] { "itemImage", "itemText" },
  new int[] { R.id.item_image, R.id.item_text });
  return simperAdapter;
}
menuGrid = (GridView) view.findViewById(R.id.gridview);  
menuGrid.setAdapter(getMenuAdapter(menu_name_array, menu_image_array));

4、注冊Menu彈起事件:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
 // TODO Auto-generated method stub
 pop.showAtLocation(findViewById(R.id.mainfrm), Gravity.CENTER|Gravity.BOTTOM, 0, 0);
 return false;//super.onCreateOptionsMenu(menu); 
}

5、注冊menu子菜單單擊事件:

menuGrid.setOnItemClickListener(new OnItemClickListener() {
 public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
   long arg3) {
  Log.v("Demo", "menuGrid.setOnItemClickListener: "+arg2+" "+arg3);
  Toast.makeText(UIMenu.this, "Click"+arg2, Toast.LENGTH_SHORT).show();
  if (pop.isShowing()) //關(guān)閉菜單
   pop.dismiss();
 }
});

6、界面截圖:

希望本文所述對大家的Android程序設計有所幫助。

相關(guān)文章

  • Android 自定義Dialog去除title導航欄的解決方法

    Android 自定義Dialog去除title導航欄的解決方法

    今天小編就為大家分享一篇Android 自定義Dialog去除title導航欄的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Android WebView組件用法詳解

    Android WebView組件用法詳解

    這篇文章主要介紹了Android WebView組件用法,結(jié)合實例形式詳細分析了Android WebView組件的功能、權(quán)限設置、布局及使用技巧,需要的朋友可以參考下
    2016-02-02
  • Android使用AIDL方式實現(xiàn)播放音樂案例

    Android使用AIDL方式實現(xiàn)播放音樂案例

    這篇文章主要介紹了Android使用AIDL方式實現(xiàn)播放音樂案例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • 21天學習android開發(fā)教程之SurfaceView

    21天學習android開發(fā)教程之SurfaceView

    21天學習android開發(fā)教程之SurfaceView,SurfaceView由于可以直接從內(nèi)存或者DMA等硬件接口取得圖像數(shù)據(jù),因此是個非常重要的繪圖容器,操作相對簡單,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Android Studio模擬器運行apk文件

    Android Studio模擬器運行apk文件

    這篇文章主要介紹了Android Studio模擬器運行apk文件,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下
    2022-09-09
  • Android中ImageView實現(xiàn)選擇本地圖片并顯示功能

    Android中ImageView實現(xiàn)選擇本地圖片并顯示功能

    本文主要介紹了android中ImageView實現(xiàn)選擇本地圖片并顯示功能的示例代碼。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-04-04
  • Android實現(xiàn)毛玻璃效果的對話框

    Android實現(xiàn)毛玻璃效果的對話框

    這篇文章主要為大家詳細介紹了Android實現(xiàn)毛玻璃效果的對話框,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • android-wheel控件實現(xiàn)三級聯(lián)動效果

    android-wheel控件實現(xiàn)三級聯(lián)動效果

    這篇文章主要為大家詳細介紹了android-wheel控件實現(xiàn)三級聯(lián)動效果的代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • java,Android:在eclipse中的快捷鍵(經(jīng)典收藏)

    java,Android:在eclipse中的快捷鍵(經(jīng)典收藏)

    下面的快捷鍵是常用的,本人就本身喜好且常用的收拾一下,現(xiàn)在曬出來與大家分享,感興趣的朋友可以了解小哦
    2013-01-01
  • Android仿QQ可拉伸頭部控件

    Android仿QQ可拉伸頭部控件

    這篇文章主要為大家詳細介紹了Android仿QQ可拉伸頭部控件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11

最新評論

乃东县| 图木舒克市| 江源县| 新竹县| 博罗县| 徐水县| 宿迁市| 新干县| 临清市| 南郑县| 阳高县| 泗洪县| 宝应县| 逊克县| 海盐县| 营口市| 静安区| 嘉兴市| 丰镇市| 磴口县| 阿图什市| 济源市| 保康县| 微山县| 磐安县| 永年县| 梁河县| 西畴县| 余庆县| 利川市| 德惠市| 嘉义县| 通许县| 南宫市| 大新县| 临沂市| 荃湾区| 临湘市| 交城县| 龙门县| 阿勒泰市|