亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解Android中的Menu菜單鍵

 更新時間:2016年03月29日 09:03:22   作者:jerrylsxu  
本文給大家介紹Android中的設(shè)置按鈕,長按或點擊菜單鍵,涉及到menu菜單的基本用法,本文介紹非常詳細具有參考價值,特此分享供大家學習

Android中的設(shè)置按鈕:長按或點擊菜單鍵

1.長按選項:

布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MenuActivity" >
<TextView
android:id="@+id/menutext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="第一種方法創(chuàng)建菜單"
android:textSize="sp" />
<TextView
android:id="@+id/menutext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="第二種方法創(chuàng)建菜單"
android:textSize="sp" />
<ListView
android:id="@+id/menulist"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="dp" >
</ListView>
</LinearLayout> 

實現(xiàn)過程:

private ListView list;
private TextView lv;
String[] str = { "TextView", "EditView", "Toast(消息框)" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
list = (ListView) findViewById(R.id.menulist);
ArrayAdapter<String> arr = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_, str);
list.setAdapter(arr);
list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.clear();
menu.clearHeader();
menu.setHeaderIcon((R.drawable.ic_launcher));
menu.setHeaderTitle("我是ListView");
menu.add(, , , "刪除");
menu.add(, , , "修改");
}
});
// 第一種方法
TextView tv = (TextView) findViewById(R.id.menutext);
this.registerForContextMenu(tv);
// 第二種方法
lv = (TextView) findViewById(R.id.menutext);
lv.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.setHeaderTitle("長度-ContextMenu");
menu.add(, , , "復(fù)制");
SubMenu sb = menu.addSubMenu("查找");
sb.add(, , , "按id查找");
sb.add(, , , "按名稱查找");
}
});
}

2.長按菜單項:

private ListView list;
private TextView lv;
String[] str = { "TextView", "EditView", "Toast(消息框)" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
list = (ListView) findViewById(R.id.menulist);
ArrayAdapter<String> arr = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_, str);
list.setAdapter(arr);
list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.clear();
menu.clearHeader();
menu.setHeaderIcon((R.drawable.ic_launcher));
menu.setHeaderTitle("我是ListView");
menu.add(, , , "刪除");
menu.add(, , , "修改");
}
});
// 第一種方法
TextView tv = (TextView) findViewById(R.id.menutext);
this.registerForContextMenu(tv);
// 第二種方法
lv = (TextView) findViewById(R.id.menutext);
lv.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.setHeaderTitle("長度-ContextMenu");
menu.add(, , , "復(fù)制");
SubMenu sb = menu.addSubMenu("查找");
sb.add(, , , "按id查找");
sb.add(, , , "按名稱查找");
}
});
}

下面給大家補充點Menu的基本用法

使用xml定義Menu

菜單資源文件必須放在res/menu目錄中。菜單資源文件必須使用<menu>標簽作為根節(jié)點。除了<menu>標簽外,還有另外兩個標簽用于設(shè)置菜單項和分組,這兩個標簽是<item>和<group>。

<menu>標簽沒有任何屬性,但可以嵌套在<item>標簽中,表示子菜單的形式。不過<item>標簽中不能再嵌入<item>標簽。

1.<item>標簽的屬性含義如下:

Id:表示菜單項的資源ID

menuCategory:同種菜單項的種類。該屬性可取4個值:container、system、secondary和alternative。通過menuCategroy屬性可以控制菜單項的位置。例如將屬性設(shè)為system,表示該菜單項是系統(tǒng)菜單,應(yīng)放在其他種類菜單項的后面。

orderInCategor:同種類菜單的排列順序。該屬性需要設(shè)置一個整數(shù)值。例如menuCategory屬性值都為system的3個菜單項(item1、item2和item3)。將這3個菜單項的orderInCategory屬性值設(shè)為3、2、1,那么item3會顯示在最前面,而item1會顯示在最后面。

title:菜單項標題(菜單項顯示的文本)

titleCondensed:菜單項的短標題。當菜單項標題太長時會顯示該屬性值

icon:菜單項圖標資源ID

alphabeticShortcut:菜單項的字母快捷鍵

numericShortcut:菜單項的數(shù)字快捷鍵

checkable:表示菜單項是否帶復(fù)選框。該屬性可設(shè)計為true或false

checked:如果菜單項帶復(fù)選框(checkable屬性為true),該屬性表示復(fù)選框默認狀態(tài)是否被選中。可設(shè)置的值為true或false

visible:菜單項默認狀態(tài)是否可視

enable:菜單項默認狀態(tài)是否被激活

2.<group>標簽的屬性含義如下:

id:表示菜單組的ID

menuCategory:與<item>標簽的同名屬性含義相同。只是作用域為菜單組

orderInCategory:與<item>標簽的同名屬性含義相同。只是作用域為菜單組

checkableBehavior:設(shè)置該組所有菜單項上顯示的選擇組件(CheckBox或Radio Button)。如果將該屬性值設(shè)為all,顯示

CheckBox組件;如果設(shè)為single,顯示Radio Button組件;如果設(shè)為none,顯示正常的菜單項(不顯示任何選擇組件)。要注意的是,Android SDK官方文檔在解釋該屬性時有一個筆誤,原文是:

Whether the items are checkable. Valid values: none, all(exclusive/radiobuttons), single(non-exclusive/checkboxes).

相反了,正確應(yīng)該是

all(non-exclusive/checkboxes),single(exclusive/radiobuttons).

visible:表示當前組中所有菜單項是否顯示。該屬性可設(shè)置的值是true或false

enable:表示當前組中所有菜單項是否被激活。該屬性可設(shè)置的值是true或false

相關(guān)文章

  • android開發(fā)之歡迎界面的小例子

    android開發(fā)之歡迎界面的小例子

    android開發(fā)之歡迎界面的小例子,需要的朋友可以參考一下
    2013-06-06
  • Android開發(fā)之AlarmManager的用法詳解

    Android開發(fā)之AlarmManager的用法詳解

    這篇文章主要介紹了Android開發(fā)之AlarmManager的用法,是Android應(yīng)用開發(fā)中非常實用的技能,需要的朋友可以參考下
    2014-07-07
  • Android Scroll滑動效果實例

    Android Scroll滑動效果實例

    這篇文章主要為大家分享了Android Scroll滑動效果實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-04-04
  • Flutter 構(gòu)建一個常用的頁面框架

    Flutter 構(gòu)建一個常用的頁面框架

    大多數(shù) App 中都會有底部導(dǎo)航欄,通過底部導(dǎo)航欄切換實現(xiàn)不同頁面之間的切換。在Flutter 中提供了 BottomNavigationBar組件實現(xiàn)底部導(dǎo)航。本篇介紹通過 BottomNavigationBar和 IndexedStack構(gòu)建最為常見的 App 頁面框架。
    2021-05-05
  • Android RecyclerView的卡頓問題的解決方法

    Android RecyclerView的卡頓問題的解決方法

    本篇文章主要介紹了Android RecyclerView的卡頓問題的解決方法,具有一定的參考價值,有興趣的可以了解一下。
    2017-04-04
  • Android利用碎片fragment實現(xiàn)底部標題欄(Github模板開源)

    Android利用碎片fragment實現(xiàn)底部標題欄(Github模板開源)

    Fragment可以作為Activity的組成部分,一個Activity可以有多個Fragment,這篇文章主要介紹了Android利用碎片fragment實現(xiàn)底部標題欄(Github模板開源),需要的朋友可以參考下
    2019-12-12
  • Android原生TabLayout使用的超全解析(看這篇就夠了)

    Android原生TabLayout使用的超全解析(看這篇就夠了)

    現(xiàn)在很多app都有頂部可左右切換的導(dǎo)航欄,并且還帶動畫效果,要實現(xiàn)這種導(dǎo)航欄,可以使用Android原生的Tablayout也可以借助第三方框架實現(xiàn),這篇文章主要給大家介紹了關(guān)于Android原生TabLayout使用的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • Android編程之簡單啟動畫面實現(xiàn)方法

    Android編程之簡單啟動畫面實現(xiàn)方法

    這篇文章主要介紹了Android編程之簡單啟動畫面實現(xiàn)方法,結(jié)合實例形式較為詳細的分析了開機啟動畫面的制作步驟及布局、Activity跳轉(zhuǎn)、權(quán)限控制等的相關(guān)操作技巧,需要的朋友可以參考下
    2016-11-11
  • Android 中讀取SD卡文件時拋出NullPointerException錯誤解決辦法

    Android 中讀取SD卡文件時拋出NullPointerException錯誤解決辦法

    這篇文章主要介紹了Android 中讀取SD卡文件時拋出NullPointerException錯誤解決辦法的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • Android中Market的Loading效果實現(xiàn)方法

    Android中Market的Loading效果實現(xiàn)方法

    這篇文章主要介紹了Android中Market的Loading效果實現(xiàn)方法,較為詳細的分析了Android中l(wèi)oading效果的相關(guān)布局及功能實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-10-10

最新評論