<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了Android學習之選單使用的具體程式碼,供大家參考,具體內容如下
Android中選單包含上下文選單和選項選單兩種型別。
Menu、MenuItem、SubMenu三個類。
1.Menu類:
一個Menu物件代表一個選單,是整個選單的基礎。
Menu類的常用方法:新增一個選單:add(int groupId, int itemId, int order, CharSequence title)
2.MenuItem類:
MenuItem代表一個選單項;
MenuItem往往是通過Menu的add方法來獲取的。
3.subMenu類:
subMenu繼承自Menu,其代表一個子選單。
Menu、MenuItem、SubMenu的使用:
Menu通過add方法,來新增選單項MenuItem並返回;
Menu通過addSubMenu方法,來新增自選單SubMenu並返回;
通過MenuItem的多個方法,來設定選單項的狀態;
SubMenu繼承自Menu,用相同方法,新增MenuItem及SubMenu;
通過SubMenu的多個方法,設定SubMenu的狀態。
ContextMenu(上下文選單)類似於PC中的右鍵彈出選單,當一個檢視註冊了上下文選單時,長按該檢視物件將出現一個提供相關功能的浮動選單。上下文選單可以被註冊到任何檢視物件中,最常見的是用於列表檢視ListView中,但上下文選單不支援圖示和快捷鍵。
使用步驟如下:
(1)在Activity中使用上下文選單,複寫onCreateContextMenu() 和 onContextItemSelected()方法;
(2)為檢視控制元件View中註冊上下文選單,使用registerForContextMenu()方法;
(3)在onCreateContextMenu(ContextMenu menu,View v,ContextMenuInfo info)中新增選單項menu.add();
(4)在onContextItemSelected()中通過設定選單的id來實現選單子項的監聽。
ContextMenu在Activity中的回撥函數:
onCreateContextMenu(ContextMenu menu,View v,ContextMenuInfo info) //初始化,第一次呼叫選單時執行,用於建立選單專案 onContextItemSelected(MenuItem item) //選單項被選中後呼叫,用於處理選單事件,根據傳遞的item引數,確定具體的選單項,進行設計 onContextMenuClosed(Menu menu) //選單被關閉時呼叫 ``
2.OptionsMenu(選項選單):
使用步驟如下:
(1)在Activity中複寫onCreateOptionsMenu()和onOptionsItemSelected()方法;
(2)在onCreateOptionsMenu(Menu menu)中新增選單選項,有兩種方式:
a、呼叫menu.add()
b、從佈局檔案中新增,在res下新建menu資料夾,建立menu檔案,填寫相應的選項;
(2)為檢視控制元件View中註冊上下文選單,使用registerForContextMenu()方法;
OptionsMenu選項選單在Activity中的回撥方法:
onCreateOptionsMenu(Menu menu) //初始化選項選單,初次顯示選單時呼叫 public boolean onOptionsItemSeleted(MenuItem item) //選項選單中的某個選項被選中時,呼叫該方法 public void onOptionMenuClosed(Menu menu) //當關閉選單時呼叫該方法
☆☆☆Android Studio實現使用選單的使用
1.開啟Android Studio,新建工程後,在activity_main.xml中,編寫程式碼。
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" 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="com.example.androidlesson.MainActivity" android:background="@android:color/holo_blue_dark"> <TextView android:text="TextView" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentStart="true" android:id="@+id/textView" android:background="@android:color/holo_green_dark" android:textSize="36sp" /> <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" app:srcCompat="@mipmap/ic_launcher" android:id="@+id/imageView" android:background="@android:color/holo_purple" android:layout_below="@+id/textView" android:layout_alignParentStart="true" android:layout_marginTop="14dp" /> </RelativeLayout>
2.在MainActivity.java中,編寫相關程式碼。
package com.example.menu; import android.graphics.Color; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.ContextMenu; import android.view.Menu; import android.view.MenuItem; import android.view.SubMenu; import android.view.View; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity { TextView tv; ImageView iv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv= (TextView) findViewById(R.id.textView); iv= (ImageView) findViewById(R.id.imageView); registerForContextMenu(tv); registerForContextMenu(iv); } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { if (v.getId()==tv.getId()) { //menu.add(0,0,0,"開啟"); menu.add(0, 0, 0, "大號字型"); //menu.add(0,1,1,"儲存"); menu.add(0, 1, 1, "小號字型"); //SubMenu sm1=menu.addSubMenu(0,2,2,"編輯"); SubMenu sm1 = menu.addSubMenu(0, 2, 2, "顏色"); //sm1.add(0,3,3,"複製"); //sm1.add(0,4,4,"貼上"); sm1.add(0, 3, 3, "黑色"); sm1.add(0, 4, 4, "紅色"); }else { menu.add(1,5,5,"圖片資訊"); menu.add(1,6,6,"圖片說明"); } super.onCreateContextMenu(menu, v, menuInfo); } @Override public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()){ case 0: tv.setTextSize(32); break; case 1: tv.setTextSize(16); break; case 3: tv.setTextColor(Color.BLACK); break; case 4: tv.setTextColor(Color.RED); break; case 5: Toast.makeText(this,"png格式圖片,解析度64",Toast.LENGTH_LONG).show(); break; case 6: Toast.makeText(this,"這是安卓機器人的圖片",Toast.LENGTH_LONG).show(); } return super.onContextItemSelected(item); } @Override public boolean onCreateOptionsMenu(Menu menu) { SubMenu sub1=menu.addSubMenu(0,0,0,"檔案"); SubMenu sub2=menu.addSubMenu(0,1,1,"編輯"); sub1.add(0,2,2,"開啟"); sub1.add(0,3,3,"儲存"); sub1.add(0,4,4,"另存為"); sub2.add(0,5,5,"複製"); sub2.add(0,6,6,"貼上"); menu.add(0,7,7,"退出"); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()){ case 2: break; case 3: break; case 4: break; case 7: finish(); } return super.onOptionsItemSelected(item); } }
執行結果:
這就是選單的簡單使用。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45