中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android里面怎么用XML定義菜單資源

發布時間:2021-07-24 11:46:33 來源:億速云 閱讀:119 作者:chen 欄目:移動開發

本篇內容主要講解“Android里面怎么用XML定義菜單資源”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Android里面怎么用XML定義菜單資源”吧!

Android里面也可用XML定義菜單資源,菜單分兩種,一種是OptionMenu(點系統"Menu"鍵出來),一種是ContextMenu
下面定義兩種菜單XML到res\menu文件夾下
my_menu為OptionMenu

<?xml version="1。0" encoding="utf-8"?>  <menu xmlns:android="http://schemas。android。com/apk/res/android" >  <item android:title="@string/font_size"  android:icon="@drawable/font">  <menu>  <!--  定義一組單選菜單項 -->  <group android:checkableBehavior="single">  <!-- 定義多個菜單項 -->  <item android:id="@+id/font_10"  android:title="@string/font_10"/>  <item android:id="@+id/font_12"  android:title="@string/font_12"/>  <item android:id="@+id/font_14"  android:title="@string/font_14"/>  <item android:id="@+id/font_16"  android:title="@string/font_16"/>  <item android:id="@+id/font_18"  android:title="@string/font_18"/>  </group>  </menu>  </item>  <item>  </item>  <!-- 定義一個普通菜單項 -->  <item android:id="@+id/plain_item"  android:title="@string/plain_item">  </item>  <item android:id="@string/font_color"  android:title="@drawable/color">  <menu>  <!-- 定義一組普通的菜單項 -->  <group>  <!-- 定義3個菜單項 -->  <item android:id="@+id/red_font"  android:title="@string/red_title"/>  <item android:id="@+id/green_font"  android:title="@string/green_title"/>  <item android:id="@+id/blue_font"  android:title="@string/blue_title"/>  </group>  </menu>  </item>  </menu>

context.xml為ContextMenu

<?xml version="1。0" encoding="utf-8"?> <menu xmlns:android="http://schemas。android。com/apk/res/android" > <!-- 定義一組單選菜單項目 --> <group android:checkableBehavior="single"> <!-- 定義三個菜單項 --> <item android:id="@+id/red" android:title="@string/red_title" android:alphabeticShortcut="r"></item> <item android:id="@+id/green" android:title="@string/green_title" android:alphabeticShortcut="g"></item> <item android:id="@+id/blue" android:title="@string/blue_title" android:alphabeticShortcut="b"></item> </group> </menu>

定義兩個res\value下的xml,用來指定顏色,字體

<?xml version="1。0" encoding="UTF-8"?> <resources> <color name="red">#ff0000</color> <color name="green">#00ff00</color> <color name="blue">#0000ff</color> </resources>

strings.xml

<?xml version="1.0" encoding="utf-8"?>   <resources>       <string name="hello">Hello World, ContextMenuTest!</string>       <string name="app_name">上下文菜單</string>       <string name="red_title">紅色</string>       <string name="blue_title">藍色</string>       <string name="green_title">綠色</string>       <string name="font_size">字體大小</string>       <string name="font_color">字體顏色</string>           <string name="plain_item">普通菜單項</string>       <string name="font_10">10號字體</string>          <string name="font_12">12號字體</string>          <string name="font_14">14號字體</string>          <string name="font_16">16號字體</string>          <string name="font_18">18號字體</string>      </resources>

下面代碼將實現兩種菜單

package WangLi.Resource.MenuResTest;   import android.app.Activity;   import android.graphics.Color;   import android.os.Bundle;   import android.view.ContextMenu;   import android.view.Menu;   import android.view.MenuInflater;   import android.view.MenuItem;   import android.view.View;   import android.widget.TextView;   import android.widget.Toast;   public class MenuResTest extends Activity {       /** Called when the activity is first created. */       private TextView txt;       @Override       public void onCreate(Bundle savedInstanceState) {           super.onCreate(savedInstanceState);           setContentView(R.layout.main);           txt = (TextView)findViewById(R.id.txt);           //為文本框注冊上下文菜單            registerForContextMenu(txt);       }       public boolean onCreateOptionsMenu(Menu menu)       {           MenuInflater inflator = new MenuInflater(this);           //裝填R.menu.my_menu對應的菜單,并添加到menu中            inflator.inflate(R.menu.my_menu, menu);           return super.onCreateOptionsMenu(menu);       }       //每次創建上下文菜單時都會觸發該方法        public void onCreateContextMenu(ContextMenu menu,View source,               ContextMenu.ContextMenuInfo menuInfo)       {           MenuInflater inflator = new MenuInflater(this);           //裝填R.menu.context對應的菜單,并添加到menu中            inflator.inflate(R.menu.context, menu);           menu.setHeaderIcon(R.drawable.tools);           menu.setHeaderTitle("請選擇背景色");       }       //上下文菜單中菜單項被單擊時觸發該方法        public boolean onContextItemSelected(MenuItem mi)       {           switch(mi.getItemId())           {               case R.id.red:                   mi.setChecked(true);                   txt.setBackgroundColor(Color.RED);                   break;               case R.id.green:                   mi.setChecked(true);                   txt.setBackgroundColor(Color.GREEN);                   break;               case R.id.blue:                   mi.setChecked(true);                   txt.setBackgroundColor(Color.BLUE);                   break;           }           return true;       }       //菜單項被單擊后的回調方法        public boolean onOptionsItemSelected(MenuItem mi)       {           //判斷單擊的是哪個菜單項,并針對性地做出響應            switch(mi.getItemId())           {               case R.id.font_10:                   txt.setTextSize(10*2);                   break;               case R.id.font_12:                   txt.setTextSize(12*2);                   break;               case R.id.font_14:                   txt.setTextSize(14*2);                   break;               case R.id.font_16:                   txt.setTextSize(16*2);                   break;               case R.id.font_18:                   txt.setTextSize(18*2);                   break;               case R.id.red_font:                   txt.setTextColor(Color.RED);                   mi.setChecked(true);                   break;               case R.id.green_font:                   txt.setTextColor(Color.GREEN);                   mi.setChecked(true);                   break;               case R.id.blue_font:                   txt.setTextColor(Color.BLUE);                   mi.setChecked(true);                   break;               case R.id.plain_item:                   Toast toast = Toast.makeText(MenuResTest.this, "您單擊了普通項菜單", Toast.LENGTH_SHORT);                   toast.show();                   break;           }           return true;       }   }

下面是程序運行效果圖,剛啟動時是一個TextView

點擊后,在手機屏幕下方出現OptionMenu

點擊字體大小或普通菜單項,出現子菜單

選擇就可改變TextView的字體

如下點擊"普通菜單項",會出現一個Toast提示,過幾秒就會消失

那么怎么彈出ContextMenu呢,就是對著TextView長按就可以了

選擇后,背景色就改變了

到此,相信大家對“Android里面怎么用XML定義菜單資源”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

襄垣县| 饶平县| 获嘉县| 巴马| 额敏县| 定西市| 海伦市| 通化县| 巨鹿县| 南华县| 东乌珠穆沁旗| 淳安县| 巴林左旗| 荔波县| 山阴县| 嘉禾县| 河北区| 杨浦区| 阳西县| 长阳| 喀什市| 霍邱县| 涟源市| 于田县| 兴隆县| 永福县| 汝州市| 文昌市| 富宁县| 若羌县| 北京市| 巩留县| 象州县| 治县。| 兴安盟| 昌吉市| 绩溪县| 石林| 甘孜县| 建德市| 元朗区|