日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android开发系列(二十八):使用SubMenu创建选项菜单

發布時間:2024/4/14 Android 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android开发系列(二十八):使用SubMenu创建选项菜单 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大部分手機上邊都會有一個“MENU”鍵,在一個應用安裝到手機上之后,能夠通過“MENU”顯示該應用關聯的菜單。

可是,從Android 3.0開始,Android不再要求手機設備上必須提供MENU案件,盡管如今還有非常多手機都會提供MENU按鍵,可是有一部分已經不再提供。在這樣的情況下,Android推薦使用ActionBar來取代菜單。在以后的博文中我們會介紹Android對ActionBar的支持


Menu接口是實現這個功能的按鍵之中的一個,當中SubMenu繼承自Menu這個父接口


接下來我們用一個詳細的應用程序來說明下,大部分方法都會用到:

我們還是首先創建一個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"> <EditText android:id="@+id/txt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="用于測試的內容"android:editable="false"/> </LinearLayout> 在這個文件里,我們定義了一行文本,接下來我們會通過菜單和子菜單對行文本進行改變字體、改變字體顏色的改動。


接下來,我們看一下MenuTest.java:

import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.SubMenu; import android.widget.EditText; import android.widget.Toast;public class MenuTest extends Activity {// 定義字體大小菜單項的標識final int FONT_10 = 0x111;final int FONT_12 = 0x112;final int FONT_14 = 0x113;final int FONT_16 = 0x114;final int FONT_18 = 0x115;// 定義普通菜單項的標識final int PLAIN_ITEM = 0x11b;// 定義字體顏色菜單項的標識final int FONT_RED = 0x116;final int FONT_BLUE = 0x117;final int FONT_GREEN = 0x118;private EditText edit;@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);edit = (EditText) findViewById(R.id.txt);}// 當用戶單擊MENU鍵時觸發該方法 @Overridepublic boolean onCreateOptionsMenu(Menu menu){// -------------向menu中加入字體大小的子菜單-------------SubMenu fontMenu = menu.addSubMenu("字體大小");// 設置菜單的圖標fontMenu.setIcon(R.drawable.font);// 設置菜單頭的圖標fontMenu.setHeaderIcon(R.drawable.font);// 設置菜單頭的標題fontMenu.setHeaderTitle("選擇字體大小");fontMenu.add(0, FONT_10, 0, "10號字體");fontMenu.add(0, FONT_12, 0, "12號字體");fontMenu.add(0, FONT_14, 0, "14號字體");fontMenu.add(0, FONT_16, 0, "16號字體");fontMenu.add(0, FONT_18, 0, "18號字體");// -------------向menu中加入普通菜單項-------------menu.add(0, PLAIN_ITEM, 0, "普通菜單項");// -------------向menu中加入文字顏色的子菜單-------------SubMenu colorMenu = menu.addSubMenu("字體顏色");colorMenu.setIcon(R.drawable.color);// 設置菜單頭的圖標colorMenu.setHeaderIcon(R.drawable.color);// 設置菜單頭的標題colorMenu.setHeaderTitle("選擇文字顏色");colorMenu.add(0, FONT_RED, 0, "紅色");colorMenu.add(0, FONT_GREEN, 0, "綠色");colorMenu.add(0, FONT_BLUE, 0, "藍色");return super.onCreateOptionsMenu(menu);}@Override// 選項菜單的菜單項被單擊后的回調方法public boolean onOptionsItemSelected(MenuItem mi){//推斷單擊的是哪個菜單項,并針對性的作出響應。switch (mi.getItemId()){case FONT_10:edit.setTextSize(10 * 2);break;case FONT_12:edit.setTextSize(12 * 2);break;case FONT_14:edit.setTextSize(14 * 2);break;case FONT_16:edit.setTextSize(16 * 2);break;case FONT_18:edit.setTextSize(18 * 2);break;case FONT_RED:edit.setTextColor(Color.RED);break;case FONT_GREEN:edit.setTextColor(Color.GREEN);break;case FONT_BLUE:edit.setTextColor(Color.BLUE);break;case PLAIN_ITEM:Toast toast = Toast.makeText(MenuTest.this, "您單擊了普通菜單項" , Toast.LENGTH_SHORT);toast.show();break;}return true;} }首先,我們重寫了onCreateOptionsMenu(Menu menu)方法,當用戶點擊MENU鍵時會觸發這種方法:

這里的menu就是按下MENU鍵時相應的那個菜單,我們通過menu.addSubMenu(CharSequence title)加入了兩個菜單“字體大小”、“字體顏色”,又通過add(int titleRes)加入了一個普通菜單項

然后,我們分別為“字體大小”、“字體顏色”加入選項。


我們看下效果圖吧:

我們首先,點擊“MENU”鍵,能夠得到下邊效果圖:





然后,我們點擊“字體大小”,就會出現下邊的效果圖:


點擊當中的某個選項,就能夠改變文字的字體。












轉載于:https://www.cnblogs.com/blfshiye/p/4296993.html

總結

以上是生活随笔為你收集整理的Android开发系列(二十八):使用SubMenu创建选项菜单的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。