欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android實現(xiàn)類似于PC中的右鍵彈出菜單效果

 更新時間:2015年12月23日 10:45:57   投稿:lijiao  
這篇文章主要介紹了Android實現(xiàn)類似于PC中的右鍵彈出菜單效果,需要的朋友可以參考下

 Android系統(tǒng)中的ContextMenu(上下文菜單)類似于PC中的右鍵彈出菜單,當一個視圖注冊到一個上下文菜單時,執(zhí)行一個在該對象上的“長按”動作,將出現(xiàn)一個提供相關功能的浮動菜單。上下文菜單可以被注冊到任何視圖對象中,不過,最常見的是用于列表視圖ListView的item,在按中列表項時,會轉換其背景色而提示將呈現(xiàn)上下文菜單。 
注意:上下文菜單不支持圖標和快捷鍵。
為了創(chuàng)建一個上下文菜單,你必須重寫這個活動的上下文菜單回調(diào)函數(shù):onCreateContextMenu() 和 onContextItemSelected()。在回調(diào)函數(shù)onCreateContextMenu()里,你可以通過使用一個add()方法來添加菜單項,或者通過擴充一個定義在XML中的菜單資源。然后,通過registerForContextMenu()為這個視圖注冊一個上下文菜單ContextMenu.  
下面我通過一個實例Demo來展示下ContextMenu的基本使用,通過手動添加Menu菜單和XML文件兩種方式來配置Menu的選項。
1、該Demo的工程結構目錄圖如下:

2、res/layout目錄下的main.xml布局文件源碼如下:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 android:orientation="vertical" 
 android:layout_width="fill_parent" 
 android:layout_height="fill_parent"> 
 <TextView 
  android:layout_width="fill_parent" 
  android:layout_height="wrap_content" 
  android:text="Hello,This is Andy's Blog!"/> 
 <ListView 
  android:id="@+id/lv" 
  android:layout_width="fill_parent" 
  android:layout_height="wrap_content"/> 
</LinearLayout> 

3、 res/menu目錄下的 cmenu.xml 菜單選項文件源碼如下:

<?xml version="1.0" encoding="utf-8"?> 
<menu 
 xmlns:android="http://schemas.android.com/apk/res/android"> 
 <item android:id="@+id/add" android:title="增加"/> 
 <item android:id="@+id/update" android:title="更新"/> 
 <item android:id="@+id/delete" android:title="刪除"/> 
</menu> 

4、com.andyidea.menudemo包下的 MenuActivity.java 源碼如下:

package com.andyidea.menudemo; 
 
import java.util.ArrayList; 
import java.util.List; 
 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.ContextMenu; 
import android.view.ContextMenu.ContextMenuInfo; 
import android.view.Menu; 
import android.view.MenuInflater; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 
import android.widget.Toast; 
 
public class MenuActivity extends Activity { 
  
 ListView lv; 
 private ArrayAdapter<String> adapter; 
 private List<String> alist = new ArrayList<String>(); 
  
 /** Called when the activity is first created. */ 
 @Override 
 public void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
  setContentView(R.layout.main); 
   
  lv = (ListView)findViewById(R.id.lv); 
  alist.add("第一"); 
  alist.add("第二"); 
  alist.add("第三"); 
  adapter = new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,alist); 
  lv.setAdapter(adapter); 
   
  //注冊視圖對象,即為ListView控件注冊上下文菜單 
  registerForContextMenu(lv); 
 } 
 
 /** 
  * 創(chuàng)建上下文菜單選項 
  */ 
 @Override 
 public void onCreateContextMenu(ContextMenu menu, View v, 
   ContextMenuInfo menuInfo) { 
   
  //1.通過手動添加來配置上下文菜單選項 
  //menu.add(0, 1, 0, "修改"); 
  //menu.add(0, 2, 0, "刪除"); 
   
  //2.通過xml文件來配置上下文菜單選項 
  MenuInflater mInflater = getMenuInflater(); 
  mInflater.inflate(R.menu.cmenu, menu); 
   
  super.onCreateContextMenu(menu, v, menuInfo); 
 } 
 
 /** 
  * 當菜單某個選項被點擊時調(diào)用該方法 
  */ 
 @Override 
 public boolean onContextItemSelected(MenuItem item) { 
  switch(item.getItemId()){ 
  case 1: 
   Toast.makeText(this, "你選擇了手動修改", Toast.LENGTH_SHORT).show(); 
   break; 
  case 2: 
   Toast.makeText(this, "你選擇了手動刪除", Toast.LENGTH_SHORT).show(); 
   break; 
  case R.id.add: 
   Toast.makeText(this, "你選擇了XML增加", Toast.LENGTH_SHORT).show(); 
   break; 
  case R.id.update: 
   Toast.makeText(this, "你選擇了XML更新", Toast.LENGTH_SHORT).show(); 
   break; 
  case R.id.delete: 
   Toast.makeText(this, "你選擇了XML刪除", Toast.LENGTH_SHORT).show(); 
   break; 
  } 
  return super.onContextItemSelected(item); 
 } 
 
 /** 
  * 當上下文菜單關閉時調(diào)用的方法 
  */ 
 @Override 
 public void onContextMenuClosed(Menu menu) { 
  // TODO Auto-generated method stub 
  super.onContextMenuClosed(menu); 
 } 
  
} 

5、Demo運行后的運行截圖如下:

希望本文所述對大家學習Android軟件編程有所幫助。

相關文章

  • Android開發(fā)之Android.mk模板的實例詳解

    Android開發(fā)之Android.mk模板的實例詳解

    這篇文章主要介紹了Android開發(fā)之Android.mk模板的實例詳解的相關資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • Android原生側滑控件DrawerLayout使用方法詳解

    Android原生側滑控件DrawerLayout使用方法詳解

    這篇文章主要為大家詳細介紹了Android原生側滑控件DrawerLayout的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Android版學生管理系統(tǒng)

    Android版學生管理系統(tǒng)

    這篇文章主要為大家詳細介紹了Android版學生管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Android編程中Perferences的用法實例分析

    Android編程中Perferences的用法實例分析

    這篇文章主要介紹了Android編程中Perferences的用法,以實例形式較為詳細的分析了配置文件preferences.xml的功能、定義及使用方法,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • Android實現(xiàn)局部模糊效果

    Android實現(xiàn)局部模糊效果

    這篇文章主要為大家詳細介紹了Android實現(xiàn)局部模糊效果,幫助大家實現(xiàn)模糊或者毛玻璃效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Android BannerView通用封裝詳解

    Android BannerView通用封裝詳解

    這篇文章主要介紹了Android BannerView通用封裝詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • android?sharedUserId?使用知識盲點解析

    android?sharedUserId?使用知識盲點解析

    這篇文章主要為大家介紹了android?sharedUserId使用的知識盲點解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • Android中ScrollView嵌套GridView顯示不全解決方法

    Android中ScrollView嵌套GridView顯示不全解決方法

    這篇文章主要介紹了Android中ScrollView嵌套GridView顯示不全解決方法的相關資料,需要的朋友可以參考下
    2017-04-04
  • android 加載本地聯(lián)系人實現(xiàn)方法

    android 加載本地聯(lián)系人實現(xiàn)方法

    在android開發(fā)過程中,有些功能需要訪問本地聯(lián)系人列表,本人搜集整理了一番,拿出來和大家分享一下,希望可以幫助你們
    2012-12-12
  • 詳解Android 7.0 Settings 加載選項

    詳解Android 7.0 Settings 加載選項

    本篇文章主要介紹了Android 7.0 Settings 加載選項,Android 7.0 Settings頂部多了一個建議選項,多了個側邊欄,操作更加便捷了,有興趣的可以了解一下。
    2017-02-02

最新評論