成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android里面用XML定義菜單資源

移動開發(fā) Android
本文介紹了Android里面如何用XML定義菜單資源,菜單分兩種,一種是OptionMenu(點系統(tǒng)"Menu"鍵出來),一種是ContextMenu。

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

  1. <?xml version="1。0" encoding="utf-8"?> 
  2.  <menu xmlns:android="http://schemas。android。com/apk/res/android" > 
  3.  <item android:title="@string/font_size" 
  4.  android:icon="@drawable/font"
  5.  <menu> 
  6.  <!--  定義一組單選菜單項 --> 
  7.  <group android:checkableBehavior="single"
  8.  <!-- 定義多個菜單項 --> 
  9.  <item android:id="@+id/font_10" 
  10.  android:title="@string/font_10"/> 
  11.  <item android:id="@+id/font_12" 
  12.  android:title="@string/font_12"/> 
  13.  <item android:id="@+id/font_14" 
  14.  android:title="@string/font_14"/> 
  15.  <item android:id="@+id/font_16" 
  16.  android:title="@string/font_16"/> 
  17.  <item android:id="@+id/font_18" 
  18.  android:title="@string/font_18"/> 
  19.  </group> 
  20.  </menu> 
  21.  </item> 
  22.  <item> 
  23.  </item> 
  24.  <!-- 定義一個普通菜單項 --> 
  25.  <item android:id="@+id/plain_item" 
  26.  android:title="@string/plain_item"
  27.  </item> 
  28.  <item android:id="@string/font_color" 
  29.  android:title="@drawable/color"
  30.  <menu> 
  31.  <!-- 定義一組普通的菜單項 --> 
  32.  <group> 
  33.  <!-- 定義3個菜單項 --> 
  34.  <item android:id="@+id/red_font" 
  35.  android:title="@string/red_title"/> 
  36.  <item android:id="@+id/green_font" 
  37.  android:title="@string/green_title"/> 
  38.  <item android:id="@+id/blue_font" 
  39.  android:title="@string/blue_title"/> 
  40.  </group> 
  41.  </menu> 
  42.  </item> 
  43.  </menu> 

context.xml為ContextMenu

  1. <?xml version="1。0" encoding="utf-8"?> 
  2. <menu xmlns:android="http://schemas。android。com/apk/res/android" > 
  3. <!-- 定義一組單選菜單項目 --> 
  4. <group android:checkableBehavior="single"
  5. <!-- 定義三個菜單項 --> 
  6. <item android:id="@+id/red" 
  7. android:title="@string/red_title" 
  8. android:alphabeticShortcut="r"></item> 
  9. <item android:id="@+id/green" 
  10. android:title="@string/green_title" 
  11. android:alphabeticShortcut="g"></item> 
  12. <item android:id="@+id/blue" 
  13. android:title="@string/blue_title" 
  14. android:alphabeticShortcut="b"></item> 
  15. </group> 
  16. </menu> 

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

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

strings.xml

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

下面代碼將實現(xiàn)兩種菜單

  1. package WangLi.Resource.MenuResTest;   
  2. import android.app.Activity;   
  3. import android.graphics.Color;   
  4. import android.os.Bundle;   
  5. import android.view.ContextMenu;   
  6. import android.view.Menu;   
  7. import android.view.MenuInflater;   
  8. import android.view.MenuItem;   
  9. import android.view.View;   
  10. import android.widget.TextView;   
  11. import android.widget.Toast;   
  12. public class MenuResTest extends Activity {   
  13.     /** Called when the activity is first created. */   
  14.     private TextView txt;   
  15.     @Override   
  16.     public void onCreate(Bundle savedInstanceState) {   
  17.         super.onCreate(savedInstanceState);   
  18.         setContentView(R.layout.main);   
  19.         txt = (TextView)findViewById(R.id.txt);   
  20.         //為文本框注冊上下文菜單    
  21.         registerForContextMenu(txt);   
  22.     }   
  23.     public boolean onCreateOptionsMenu(Menu menu)   
  24.     {   
  25.         MenuInflater inflator = new MenuInflater(this);   
  26.         //裝填R.menu.my_menu對應的菜單,并添加到menu中    
  27.         inflator.inflate(R.menu.my_menu, menu);   
  28.         return super.onCreateOptionsMenu(menu);   
  29.     }   
  30.     //每次創(chuàng)建上下文菜單時都會觸發(fā)該方法    
  31.     public void onCreateContextMenu(ContextMenu menu,View source,   
  32.             ContextMenu.ContextMenuInfo menuInfo)   
  33.     {   
  34.         MenuInflater inflator = new MenuInflater(this);   
  35.         //裝填R.menu.context對應的菜單,并添加到menu中    
  36.         inflator.inflate(R.menu.context, menu);   
  37.         menu.setHeaderIcon(R.drawable.tools);   
  38.         menu.setHeaderTitle("請選擇背景色");   
  39.     }   
  40.     //上下文菜單中菜單項被單擊時觸發(fā)該方法    
  41.     public boolean onContextItemSelected(MenuItem mi)   
  42.     {   
  43.         switch(mi.getItemId())   
  44.         {   
  45.             case R.id.red:   
  46.                 mi.setChecked(true);   
  47.                 txt.setBackgroundColor(Color.RED);   
  48.                 break;   
  49.             case R.id.green:   
  50.                 mi.setChecked(true);   
  51.                 txt.setBackgroundColor(Color.GREEN);   
  52.                 break;   
  53.             case R.id.blue:   
  54.                 mi.setChecked(true);   
  55.                 txt.setBackgroundColor(Color.BLUE);   
  56.                 break;   
  57.         }   
  58.         return true;   
  59.     }   
  60.     //菜單項被單擊后的回調方法    
  61.     public boolean onOptionsItemSelected(MenuItem mi)   
  62.     {   
  63.         //判斷單擊的是哪個菜單項,并針對性地做出響應    
  64.         switch(mi.getItemId())   
  65.         {   
  66.             case R.id.font_10:   
  67.                 txt.setTextSize(10*2);   
  68.                 break;   
  69.             case R.id.font_12:   
  70.                 txt.setTextSize(12*2);   
  71.                 break;   
  72.             case R.id.font_14:   
  73.                 txt.setTextSize(14*2);   
  74.                 break;   
  75.             case R.id.font_16:   
  76.                 txt.setTextSize(16*2);   
  77.                 break;   
  78.             case R.id.font_18:   
  79.                 txt.setTextSize(18*2);   
  80.                 break;   
  81.             case R.id.red_font:   
  82.                 txt.setTextColor(Color.RED);   
  83.                 mi.setChecked(true);   
  84.                 break;   
  85.             case R.id.green_font:   
  86.                 txt.setTextColor(Color.GREEN);   
  87.                 mi.setChecked(true);   
  88.                 break;   
  89.             case R.id.blue_font:   
  90.                 txt.setTextColor(Color.BLUE);   
  91.                 mi.setChecked(true);   
  92.                 break;   
  93.             case R.id.plain_item:   
  94.                 Toast toast = Toast.makeText(MenuResTest.this"您單擊了普通項菜單", Toast.LENGTH_SHORT);   
  95.                 toast.show();   
  96.                 break;   
  97.         }   
  98.         return true;   
  99.     }   
  100. }   

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

點擊后,在手機屏幕下方出現(xiàn)OptionMenu

點擊字體大小或普通菜單項,出現(xiàn)子菜單

選擇就可改變TextView的字體

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

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

選擇后,背景色就改變了

責任編輯:閆佳明 來源: my.eoe.cn
相關推薦

2013-06-08 12:49:03

Android開發(fā)XML定義菜單

2013-04-01 14:35:10

Android開發(fā)Android自定義x

2015-02-12 15:33:43

微信SDK

2015-02-12 15:38:26

微信SDK

2010-09-28 14:27:35

SQL定義Xml

2010-01-27 10:21:00

Android菜單

2013-06-08 13:02:11

Android開發(fā)XML解析

2011-08-30 16:43:46

MTK開發(fā)菜單

2022-05-18 07:44:13

自定義菜單前端

2011-04-25 14:26:32

Ubuntu菜單

2011-07-06 14:48:17

FOR XML PATXML

2009-01-19 10:03:58

C#XML動態(tài)分層菜單

2013-06-09 10:04:35

Android開發(fā)XML讀寫XML解析

2013-06-09 12:49:15

Android開發(fā)XML讀寫XML解析

2013-06-09 12:53:05

Android開發(fā)XML讀寫XML解析

2013-06-09 13:07:23

Android開發(fā)XML讀寫XML解析

2009-02-06 10:52:24

JavaXML服務定義

2013-06-08 11:04:18

Android開發(fā)Pull解析XMLAndroid XML

2013-06-09 10:18:29

Android開發(fā)XML讀寫XML解析

2013-06-09 10:25:56

Android開發(fā)XML讀寫XML解析
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 波多野结衣精品 | 亚洲精品4 | 日韩一区二区在线视频 | 久久久性色精品国产免费观看 | 黄频免费 | 在线观看视频一区二区三区 | 日韩中文字幕一区二区 | 亚洲不卡在线观看 | 日本精品久久 | 天天曰夜夜 | 精品视频国产 | 久久精品青青大伊人av | 蜜桃视频在线观看免费视频网站www | 久久国产成人 | 亚洲成人av| 国产精品一区二区免费 | 在线午夜 | 在线观看中文字幕视频 | 国产精品一区二区三级 | 免费h在线 | 日韩不卡在线 | 男人的天堂在线视频 | 欧美在线视频网 | 91精品国产综合久久精品 | 国产在线对白 | 四虎网站在线观看 | 波多野吉衣久久 | 久草院线 | 91视频在线看 | 一区二区日韩精品 | 亚洲一区二区视频 | 欧美日韩精品免费观看 | 国产成人在线一区二区 | 91黄在线观看 | 亚洲国产成人精品久久 | 亚洲一区视频 | 日韩中文字幕免费在线观看 | 一区二区三区亚洲 | 免费看片在线播放 | 2018天天干天天操 | 亚洲国产精品激情在线观看 |