使用 xml資源文件定義菜單

使用 xml資源文件定義菜單


menu文件

<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:android="http://schemas.android.com/apk/res/android">

? ? <item

? ? ? ? android:icon="@drawable/mia1"

? ? ? ? android:title="@string/font_size">

? ? ? ? <menu>

? ? ? ? ? ? <!--定義一組單選菜單項(xiàng)-->

? ? ? ? ? ? <group android:checkableBehavior="single">

? ? ? ? ? ? ? ? <!--定義多個(gè)菜單項(xiàng)-->

? ? ? ? ? ? ? ? <item

? ? ? ? ? ? ? ? ? ? android:id="@+id/font10"

? ? ? ? ? ? ? ? ? ? android:title="@string/font_10" />

? ? ? ? ? ? ? ? <item

? ? ? ? ? ? ? ? ? ? android:id="@+id/font12"

? ? ? ? ? ? ? ? ? ? android:title="@string/font_12" />

? ? ? ? ? ? ? ? <item

? ? ? ? ? ? ? ? ? ? android:id="@+id/font14"

? ? ? ? ? ? ? ? ? ? android:title="@string/font_14" />

? ? ? ? ? ? ? ? <item

? ? ? ? ? ? ? ? ? ? android:id="@+id/font16"

? ? ? ? ? ? ? ? ? ? android:title="@string/font_16" />

? ? ? ? ? ? ? ? <item

? ? ? ? ? ? ? ? ? ? android:id="@+id/font18"

? ? ? ? ? ? ? ? ? ? android:title="@string/font_18" />


? ? ? ? ? ? </group>

? ? ? ? </menu>

? ? </item>

? ? <!--定義一個(gè)普通菜單項(xiàng)-->

? ? <item

? ? ? ? android:id="@+id/plain_item"

? ? ? ? android:title="@string/plain_item" />

? ? <item

? ? ? ? android:icon="@drawable/mia5"

? ? ? ? android:title="@string/font_color">

? ? ? ? <menu>

? ? ? ? ? ? <!--? ? ? ? ? ? 定義一組普通的菜單項(xiàng)-->

? ? ? ? ? ? <group>

? ? ? ? ? ? ? ? <!--? ? ? ? ? ? ? ? 定義三個(gè)菜單選項(xiàng)-->

? ? ? ? ? ? ? ? <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>


<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:android="http://schemas.android.com/apk/res/android">

? ? <!--定義一組單選菜單項(xiàng)-->

? ? <group android:checkableBehavior="single">

? ? ? ? <!--? ? ? ? 定義三個(gè)菜單項(xiàng)-->

? ? ? ? <item

? ? ? ? ? ? android:id="@+id/red"

? ? ? ? ? ? android:alphabeticShortcut="r"

? ? ? ? ? ? android:title="@string/red_title" />

? ? ? ? <item

? ? ? ? ? ? android:id="@+id/green"

? ? ? ? ? ? android:alphabeticShortcut="g"

? ? ? ? ? ? android:title="@string/green_title" />

? ? ? ? <item

? ? ? ? ? ? android:id="@+id/blue"

? ? ? ? ? ? android:alphabeticShortcut="b"

? ? ? ? ? ? android:title="@string/blue_title" />

? ? </group>

</menu>



xml文件

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

? ? android:layout_width="match_parent"

? ? android:layout_height="match_parent">

? <TextView

? ? ? android:layout_width="wrap_content"

? ? ? android:layout_height="wrap_content"

? ? ? android:text="xml定文件定義菜單"


? ? ? android:id="@+id/textview001"/>

</LinearLayout>


java文件

public class MainActivity extends Activity {

? ? private TextView tv;


? ? @Override

? ? protected void onCreate(@Nullable Bundle savedInstanceState) {

? ? ? ? super.onCreate(savedInstanceState);

? ? ? ? setContentView(R.layout.menu);

? ? ? ? tv=findViewById(R.id.textview001);

? ? ? ? //為文本框注冊(cè)上下文菜單

? ? ? ? registerForContextMenu(tv);

? ? }


? ? @Override

? ? public boolean onCreateOptionsMenu(Menu menu) {

? ? ? ? MenuInflater inflater=new MenuInflater(this);

? ? ? ? //裝填R.menu.text_menu對(duì)應(yīng)的菜單取视,并添加到menu中

? ? ? ? inflater.inflate(R.menu.text_menu,menu);

? ? ? ? return super.onCreateOptionsMenu(menu);

? ? }


? ? //創(chuàng)建上下文菜單時(shí)觸發(fā)該方法


? ? @Override

? ? public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {

? ? ? ? MenuInflater inflater=new MenuInflater(this);

? ? ? ? ? ? ? ? //裝填R.menu.context,menu對(duì)應(yīng)的菜單,并添加到menu中

? ? ? ? inflater.inflate(R.menu.context,menu);

? ? ? ? menu.setHeaderIcon(R.drawable.mia5);

? ? ? ? menu.setHeaderTitle("請(qǐng)選擇背景色");

? ? ? ? super.onCreateContextMenu(menu, v, menuInfo);

? ? }

? ? //上下文菜單中菜單項(xiàng)被單擊時(shí)觸發(fā)該方法


? ? @Override

? ? public boolean onContextItemSelected(@NonNull MenuItem item) {

? ? ? ? //勾選該菜單項(xiàng)

? ? ? ? item.setChecked(true);

? ? ? ? switch (item.getItemId()){

? ? ? ? ? ? case R.id.red:

? ? ? ? ? ? ? ? item.setChecked(true);

? ? ? ? ? ? ? ? tv.setBackgroundColor(Color.RED);

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? case R.id.green:

? ? ? ? ? ? ? ? item.setChecked(true);

? ? ? ? ? ? ? ? tv.setBackgroundColor(Color.GREEN);

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? case? R.id.blue:

? ? ? ? ? ? ? ? item.setChecked(true);

? ? ? ? ? ? ? ? tv.setBackgroundColor(Color.BLUE);

? ? ? ? ? ? ? ? break;


? ? ? ? }? ? ? ? return true;

? ? }

? ? //菜單項(xiàng)被單擊后的回調(diào)方法


? ? @Override

? ? public boolean onOptionsItemSelected(@NonNull MenuItem item) {

? ? ? ? if (item.isCheckable()){

? ? ? ? ? ? //勾選該菜單項(xiàng)

? ? ? ? ? ? item.setChecked(true);

? ? ? ? }

? ? ? ? //判斷單擊的是那個(gè)才行項(xiàng)街立,并針對(duì)性的做出響應(yīng)

? ? ? ? switch (item.getItemId()){

? ? ? ? ? ? case R.id.font10:

? ? ? ? ? ? ? ? tv.setTextSize(10*2);

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? case R.id.font12:

? ? ? ? ? ? ? ? tv.setTextSize(12*2);

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? case R.id.font14:

? ? ? ? ? ? ? ? tv.setTextSize(14*2);

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? case R.id.font16:

? ? ? ? ? ? ? ? tv.setTextSize(16*2);

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? case R.id.font18:

? ? ? ? ? ? ? ? tv.setTextSize(18*2);

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? case R.id.red_font:

? ? ? ? ? ? ? ? tv.setTextColor(Color.RED);

? ? ? ? ? ? ? ? item.setChecked(true);

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? case R.id.green_font:

? ? ? ? ? ? ? ? tv.setTextColor(Color.GREEN);

? ? ? ? ? ? ? ? item.setChecked(true);

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? case R.id.blue_font:

? ? ? ? ? ? ? ? tv.setTextColor(Color.BLUE);

? ? ? ? ? ? ? ? item.setChecked(true);

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? case? R.id.plain_item:

? ? ? ? ? ? ? ? Toast toast=Toast.makeText(MainActivity.this,"您單擊了普通菜單項(xiàng)",Toast.LENGTH_SHORT);

? ? ? ? ? ? ? ? toast.show();

? ? ? ? ? ? ? ? break;



? ? ? ? }

? ? ? ? return true;

? ? }

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末捷犹,一起剝皮案震驚了整個(gè)濱河市乌昔,隨后出現(xiàn)的幾起案子雷逆,更是在濱河造成了極大的恐慌,老刑警劉巖粟矿,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凰棉,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡陌粹,警方通過查閱死者的電腦和手機(jī)撒犀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來申屹,“玉大人绘证,你說我怎么就攤上這事』┘ィ” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵胞枕,是天一觀的道長(zhǎng)杆煞。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么决乎? 我笑而不...
    開封第一講書人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任队询,我火速辦了婚禮,結(jié)果婚禮上构诚,老公的妹妹穿的比我還像新娘蚌斩。我一直安慰自己,他們只是感情好范嘱,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開白布送膳。 她就那樣靜靜地躺著,像睡著了一般丑蛤。 火紅的嫁衣襯著肌膚如雪叠聋。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,287評(píng)論 1 301
  • 那天受裹,我揣著相機(jī)與錄音碌补,去河邊找鬼。 笑死棉饶,一個(gè)胖子當(dāng)著我的面吹牛厦章,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播照藻,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼袜啃,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了岩梳?” 一聲冷哼從身側(cè)響起囊骤,我...
    開封第一講書人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎冀值,沒想到半個(gè)月后也物,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡列疗,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年滑蚯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抵栈。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡告材,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出古劲,到底是詐尸還是另有隱情斥赋,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響孽鸡,放射性物質(zhì)發(fā)生泄漏抗俄。R本人自食惡果不足惜昧碉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一旗芬、第九天 我趴在偏房一處隱蔽的房頂上張望踱启。 院中可真熱鬧俏讹,春花似錦弯菊、人聲如沸纵势。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)钦铁。三九已至,卻和暖如春蹋嵌,著一層夾襖步出監(jiān)牢的瞬間育瓜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工栽烂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留躏仇,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓腺办,卻偏偏與公主長(zhǎng)得像焰手,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子怀喉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容