Android studio實現(xiàn)菜單操作
本文實例為大家分享了Android studio實現(xiàn)菜單操作的具體代碼,供大家參考,具體內(nèi)容如下
要求:
1.設(shè)置“打開”、“關(guān)閉”和“退出”三個菜單項的菜單。
2.當(dāng)單擊“打開“菜單項時,使用Log.i顯示”文件已打開“
3.當(dāng)單擊“關(guān)閉“菜單項時,使用Log.i顯示”文件已關(guān)閉“
4.當(dāng)單擊“打開“菜單項時,使用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="長時間點這"/> </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="打開"> </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)打開"); 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 啥都不寫
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接收兩個參數(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)打開"); 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; } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android中src和background的區(qū)別詳解
這篇文章主要介紹了Android中src和background的區(qū)別詳解的相關(guān)資料,需要的朋友可以參考下2016-09-09Android?Flutter中Offstage組件的使用教程詳解
這篇文章主要為大家詳細(xì)介紹了Android?Flutter中Offstage組件的使用教程,文中的示例代碼講解詳細(xì),對我們了解Flutter有一定的幫助,需要的可以參考一下2023-02-02解決 INSTALL FAILED CONFLICTING PROVIDER的問題方法
這篇文章主要介紹了解決 INSTALL FAILED CONFLICTING PROVIDER的問題方法的相關(guān)資料,需要的朋友可以參考下2017-02-02Android基礎(chǔ)開發(fā)小案例之短信發(fā)送器
這篇文章主要為大家詳細(xì)介紹了Android基礎(chǔ)開發(fā)小案例之短信發(fā)送器的具體實現(xiàn)代碼,感興趣的小伙伴們可以參考一下2016-05-05Android 邊播邊緩存的實現(xiàn)(MP4 未加密m3u8)
這篇文章主要介紹了Android 邊播邊緩存的實現(xiàn)(MP4 未加密m3u8),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11