這次是一個彈出菜單,當點擊按鈕或者文字時,在下方彈出一個菜單。PopupMenu是在android sdk3.0版本以后加入了一個特殊效果。他可以在任何一個View顯示。 源碼下載 下面看一下效果圖:
用法: 首先在res目錄新建menu目錄,然后在menu目錄下新建menu.xml文件,具體代碼如下:
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/add" android:title="@string/add"/> <item android:id="@+id/edit" android:title="@string/edit"/> <item android:id="@+id/delete" android:title="@string/delete"/></menu>res/values/strings.xml文件:
<resources> <string name="app_name">TestPopupMenu</string> <string name="delete">刪除</string> <string name="add">添加</string> <string name="edit">編輯</string></resources>最后修改MainActivity,解釋已在代碼中注釋就不多說了:
public class MainActivity extends AppCompatActivity {Button button; @Override PRotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //找到button對象 button= (Button) findViewById(R.id.click_me); //設置button監聽器 button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //實例一個menu對象 PopupMenu pMenu=new PopupMenu(MainActivity.this,v); //設置PopupMenu對象的布局 pMenu.getMenuInflater().inflate(R.menu.menu,pMenu.getMenu()); //設置pMenu菜單的單擊監聽事件 pMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { //當點擊時彈出被點擊象標題 Toast.makeText(getBaseContext(),item.getTitle(),Toast.LENGTH_LONG).show(); return true; } }); //最后調用show方法,顯示菜單 pMenu.show(); } }); }}我的更多學習筆記請訪問:www.xiaob.tech
新聞熱點
疑難解答