Android 自定義精美界面包含選項菜單 上下文菜單及監(jiān)聽詳解流程
先放實現(xiàn)結(jié)果
activity_main.xml、main_menu.xml和main.xml設(shè)計界面完成如下:
MainActivity.java運(yùn)行結(jié)果、長按選擇英雄和長按選擇銘文結(jié)果如下:
目錄 需要在menu下創(chuàng)建如下文件,把圖片插入drawable
activity_main.xml源碼
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@drawable/jks1" tools:context="com.example.a86189.threesz1.MainActivity"> <TextView android:layout_width="match_parent" android:layout_height="80dp" android:layout_marginTop="10dp" android:textColor="#29ef7f" android:text="請點(diǎn)擊界面右上角選項菜單查看英雄簡介" android:textSize="25sp" android:background="@drawable/jks" /> <Button android:id="@+id/hero" android:text="長按選擇英雄" android:textColor="#fa3729" android:layout_marginTop="300dp" android:background="@drawable/tm" android:layout_gravity="center" android:layout_width="200dp" android:layout_height="50dp" /> <Button android:id="@+id/inscription" android:text="長按選擇銘文" android:textColor="#fa3729" android:background="@drawable/tm" android:layout_gravity="center_horizontal" android:layout_marginTop="25dp" android:layout_width="200dp" android:layout_height="50dp" /> </LinearLayout>
main.xml源碼
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/warrior" android:title="戰(zhàn)士"> <menu> <item android:id="@+id/nuoshou" android:title="諾克薩斯之手"/> <item android:id="@+id/manwang" android:title="蠻族之王"/> <item android:id="@+id/huangzi" android:title="德瑪西亞皇子"/> <item android:id="@+id/jiansheng" android:title="無極劍圣"/> </menu> </item> <item android:id="@+id/thug" android:title="刺客"> <menu> <item android:id="@+id/jie" android:title="劫"/> <item android:id="@+id/tanglang" android:title="虛空掠奪者"/> <item android:id="@+id/akali" android:title="阿卡麗"/> </menu> </item> <item android:id="@+id/ADC" android:title="射手"> <menu> <item android:id="@+id/kasha" android:title="卡莎"/> <item android:id="@+id/weien" android:title="薇恩"/> <item android:id="@+id/hanbing" android:title="寒冰射手"/> </menu> </item> </menu>
main_menu.xml
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:id="@+id/yx"> <item android:id="@+id/ns" android:title="諾克薩斯之手"/> <item android:id="@+id/mw" android:title="蠻族之王"/> <item android:id="@+id/hz" android:title="德瑪西亞皇子"/> <item android:id="@+id/js" android:title="無極劍圣"/> <item android:id="@+id/j" android:title="劫"/> <item android:id="@+id/tl" android:title="虛空掠奪者"/> <item android:id="@+id/akl" android:title="阿卡麗"/> <item android:id="@+id/ks" android:title="卡莎"/> <item android:id="@+id/we" android:title="薇恩"/> <item android:id="@+id/hb" android:title="寒冰射手"/> </group> <group android:id="@+id/fw"> <item android:id="@+id/zz" android:title="主宰"/> <item android:id="@+id/qd" android:title="啟迪"/> <item android:id="@+id/jj" android:title="堅決"/> <item android:id="@+id/ws" android:title="巫術(shù)"/> <item android:id="@+id/jm" android:title="精密"/> </group> </menu>
MainActivity.java源碼
package com.example.a86189.threesz1; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.ContextMenu; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import android.view.ContextMenu.ContextMenuInfo; public class MainActivity extends AppCompatActivity { private Button Hero,Inscription; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Hero= (Button) findViewById(R.id.hero); Inscription= (Button) findViewById(R.id.inscription); registerForContextMenu(Hero); registerForContextMenu(Inscription); } @Override public void onCreateContextMenu(ContextMenu menu,View v,ContextMenu.ContextMenuInfo menuInfo) { getMenuInflater().inflate(R.menu.main_menu,menu); super.onCreateContextMenu(menu,v,menuInfo); } @Override public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()){ case R.id.ns: toast("選擇了諾手"); break; case R.id.mw: toast("選擇了蠻王"); break; case R.id.hz: toast("選擇了皇子"); break; case R.id.js: toast("選擇了劍圣"); break; case R.id.j: toast("選擇了劫"); break; case R.id.tl: toast("選擇了螳螂"); break; case R.id.akl: toast("選擇了阿卡麗"); break; case R.id.ks: toast("選擇了諾手卡莎"); break; case R.id.we: toast("選擇了薇恩"); break; case R.id.hb: toast("選擇了寒冰"); break; case R.id.zz: toast("選擇了主宰"); break; case R.id.qd: toast("選擇了啟迪"); break; case R.id.jj: toast("選擇了堅決"); break; case R.id.ws: toast("選擇了巫術(shù)"); break; case R.id.jm: toast("選擇了精密"); break; } return super.onContextItemSelected(item); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main,menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { int id =item.getItemId(); switch (id){ case R.id.warrior: toast("單擊了戰(zhàn)士"); break; case R.id.thug: toast("單擊了刺客"); break; case R.id.ADC: toast("單擊了射手"); } return super.onOptionsItemSelected(item); } public void toast(String str) { Toast.makeText(MainActivity.this,str,Toast.LENGTH_LONG).show(); } }
到此這篇關(guān)于Android 自定義精美界面包含選項菜單 上下文菜單及監(jiān)聽詳解流程的文章就介紹到這了,更多相關(guān)Android 自定義界面內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android使用kotlin實現(xiàn)多行文本上下滾動播放
這篇文章主要為大家詳細(xì)介紹了Android使用kotlin實現(xiàn)多行文本的上下滾動播放,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01Android模仿實現(xiàn)微博詳情頁滑動固定頂部欄的效果實例
這篇文章主要給大家介紹了關(guān)于利用Android模仿實現(xiàn)微博詳情頁滑動固定頂部欄效果的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11android使用viewpager計算偏移量實現(xiàn)選項卡功能
這篇文章主要為大家詳細(xì)介紹了android使用viewpager計算偏移量實現(xiàn)選項卡功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-12-12Android實現(xiàn)水波紋擴(kuò)散效果的實例代碼
這篇文章主要介紹了Android實現(xiàn)水波紋擴(kuò)散效果的實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05Android中編寫屬性動畫PropertyAnimation的進(jìn)階實例
這篇文章主要介紹了Android中編寫屬性動畫PropertyAnimation的進(jìn)階實例,包括一些縮放和淡入淡出效果的設(shè)計,強(qiáng)大且不算復(fù)雜,需要的朋友可以參考下2016-04-04