Android如何給Textview添加菜單項詳解(Java)
背景描述:
界面上有一個Textview和一個Button,當我們點擊Textview時會彈出一個菜單,然後我們選擇一個選項,最後點擊按鈕的時候,就會根據選擇的菜單項執行相應的函數。
解決辦法
總共分三個步驟:
1.首先在res文件夾下創建menu文件夾,然後創建菜單文件main.xml
2.在Activity中添加菜單,具體怎麼添加,先定義菜單按鈕 PopupMenu,然後重寫菜單監聽事件
3.最後給需要彈出菜單的控件(如Textview添加屬性android:onClick=“menuClick”)
具體步驟:
1.創建菜單文件
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/to_detail" android:title="細節增強"/> <item android:id="@+id/to_fudiao" android:title="浮雕效果"/> <item android:id="@+id/to_mosic" android:title="馬賽克效果"/> <item android:id="@+id/to_frost" android:title="點狀圖"/> <item android:id="@+id/to_spread" android:title="毛玻璃"/> </menu>
2.給activity添加菜單,重寫菜單監聽事件
創建彈出菜單變量
private PopupMenu popupMenu;//定義菜單按鈕
重寫菜單監聽事件
//重寫菜單監聽事件 public void menuClick(View view){ popupMenu = new PopupMenu(this,view); getMenuInflater().inflate(R.menu.main,popupMenu.getMenu()); popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()){ case R.id.to_detail: flag.setText("細節增強"); break; case R.id.to_fudiao: flag.setText("浮雕效果"); break; case R.id.to_mosic: flag.setText("馬賽克"); break; case R.id.to_frost: flag.setText("點狀圖"); break; case R.id.to_spread: flag.setText("毛玻璃"); break; } return true; } }); popupMenu.show(); }
3. 給控件添加菜單響應屬性
總結
到此這篇關於Android如何給Textview添加菜單項詳解的文章就介紹到這瞭,更多相關Android Textview添加菜單項內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Android 自定義精美界面包含選項菜單 上下文菜單及監聽詳解流程
- Android studio實現菜單效果
- Android App獲取屏幕旋轉角度的方法
- android studio實現簡易的計算器
- Android使用ScrollView實現滾動效果