日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Android里面用XML定義菜單資源

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

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

context.xml為ContextMenu

 
 
  1. <?xml version="1。0" encoding="utf-8"?> 
  2.  
  3. <!-- 定義一組單選菜單項目 --> 
  4.  
  5. <!-- 定義三個菜單項 --> 
  6. android:title="@string/red_title" 
  7. android:alphabeticShortcut="r"> 
  8. android:title="@string/green_title" 
  9. android:alphabeticShortcut="g"> 
  10. android:title="@string/blue_title" 
  11. android:alphabeticShortcut="b"> 
  12.  
  13.  

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

 
 
  1. <?xml version="1。0" encoding="UTF-8"?> 
  2.  
  3. #ff0000 
  4. #00ff00 
  5. #0000ff 
  6.  

strings.xml

 
 
  1.    
  2.    
  3.     Hello World, ContextMenuTest!   
  4.     上下文菜單   
  5.     紅色   
  6.     藍色   
  7.     綠色   
  8.     字體大小   
  9.     字體顏色       
  10.     普通菜單項   
  11.     10號字體      
  12.     12號字體      
  13.     14號字體      
  14.     16號字體      
  15.     18號字體      
  16.    

下面代碼將實現(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對應(yīng)的菜單,并添加到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對應(yīng)的菜單,并添加到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.     //菜單項被單擊后的回調(diào)方法    
  61.     public boolean onOptionsItemSelected(MenuItem mi)   
  62.     {   
  63.         //判斷單擊的是哪個菜單項,并針對性地做出響應(yīng)    
  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長按就可以了

選擇后,背景色就改變了


當(dāng)前題目:Android里面用XML定義菜單資源
URL地址:http://www.dlmjj.cn/article/dhsdjis.html