Android studio實(shí)現(xiàn)菜單操作
本文實(shí)例為大家分享了Android studio實(shí)現(xiàn)菜單操作的具體代碼,供大家參考,具體內(nèi)容如下
要求:
1.設(shè)置“打開(kāi)”、“關(guān)閉”和“退出”三個(gè)菜單項(xiàng)的菜單。
2.當(dāng)單擊“打開(kāi)“菜單項(xiàng)時(shí),使用Log.i顯示”文件已打開(kāi)“
3.當(dāng)單擊“關(guān)閉“菜單項(xiàng)時(shí),使用Log.i顯示”文件已關(guān)閉“
4.當(dāng)單擊“打開(kāi)“菜單項(xiàng)時(shí),使用Toast顯示”確定要退出嗎?“
方法一:
main.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:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="長(zhǎng)時(shí)間點(diǎn)這"/> </LinearLayout>
menu.xml:
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/open" android:title="打開(kāi)"> </item> <item android:id="@+id/close" android:title="關(guān)閉"> </item> <item android:id="@+id/quit" android:title="退出"> </item> </menu>
.java:
package com.example.first; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.ContextMenu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private static final String TAG="MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView tv=(TextView)findViewById(R.id.text1); registerForContextMenu(tv); } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); MenuInflater inflater=new MenuInflater(this); inflater.inflate(R.menu.menu,menu); menu.setHeaderTitle("選擇:");//為菜單頭設(shè)置標(biāo)題 } @Override public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()){ case R.id.open: Log.i(TAG, "已經(jīng)打開(kāi)"); break; case R.id.close: Log.i(TAG, "已經(jīng)關(guān)閉"); break; case R.id.quit: Toast.makeText(this, "已經(jīng)退出", Toast.LENGTH_SHORT).show(); break; } return super.onContextItemSelected(item); } }
方法二:
main.xml 啥都不寫(xiě)
menu.xml不變
.java改變:
package com.example.first; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; import android.util.Log; public class MainActivity extends AppCompatActivity { private static final String TAG="MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } //用onCreateOptionsMenu()顯示菜單 @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu,menu);//getMenuInflater()方法得到MenuInflater //調(diào)用inflate接收兩個(gè)參數(shù) //R.menu.main指調(diào)用menu文件下的main資源文件 return true;//返回true,允許創(chuàng)建的菜單顯示,返回false不顯示 } //定義菜單響應(yīng)事件 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()){ case R.id.open: Log.i(TAG, "已經(jīng)打開(kāi)"); break; case R.id.close: Log.i(TAG, "已經(jīng)關(guān)閉"); break; case R.id.quit: Toast.makeText(this, "已經(jīng)退出", Toast.LENGTH_SHORT).show(); break; } return true; } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android中src和background的區(qū)別詳解
這篇文章主要介紹了Android中src和background的區(qū)別詳解的相關(guān)資料,需要的朋友可以參考下2016-09-09Android實(shí)現(xiàn)水波紋擴(kuò)散效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)水波紋擴(kuò)散效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01Android?Flutter中Offstage組件的使用教程詳解
這篇文章主要為大家詳細(xì)介紹了Android?Flutter中Offstage組件的使用教程,文中的示例代碼講解詳細(xì),對(duì)我們了解Flutter有一定的幫助,需要的可以參考一下2023-02-02解決 INSTALL FAILED CONFLICTING PROVIDER的問(wèn)題方法
這篇文章主要介紹了解決 INSTALL FAILED CONFLICTING PROVIDER的問(wèn)題方法的相關(guān)資料,需要的朋友可以參考下2017-02-02Android基礎(chǔ)開(kāi)發(fā)小案例之短信發(fā)送器
這篇文章主要為大家詳細(xì)介紹了Android基礎(chǔ)開(kāi)發(fā)小案例之短信發(fā)送器的具體實(shí)現(xiàn)代碼,感興趣的小伙伴們可以參考一下2016-05-05Android 邊播邊緩存的實(shí)現(xiàn)(MP4 未加密m3u8)
這篇文章主要介紹了Android 邊播邊緩存的實(shí)現(xiàn)(MP4 未加密m3u8),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11Android實(shí)現(xiàn)銀行卡、手機(jī)號(hào)帶空格格式
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)銀行卡、手機(jī)號(hào)帶空格的格式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-12-12Android?藍(lán)牙BLE開(kāi)發(fā)完全指南
BLE藍(lán)牙的興起主要因?yàn)榻陙?lái)可穿戴設(shè)備的流行,由于傳統(tǒng)藍(lán)牙功耗高不能滿足可穿戴設(shè)備對(duì)于續(xù)航的要求,所以大部分可穿戴設(shè)備采用藍(lán)牙4.0,即BLE藍(lán)牙技術(shù),這篇文章主要給大家介紹了關(guān)于Android?藍(lán)牙BLE開(kāi)發(fā)的相關(guān)資料,需要的朋友可以參考下2021-11-11詳解android 人臉檢測(cè)你一定會(huì)遇到的坑
這篇文章主要介紹了詳解android 人臉檢測(cè)你一定會(huì)遇到的坑,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11