Android --右上角彈出選單
阿新 • • 發佈:2018-12-03
效果:
兩個佈局檔案:
1.main.xml:主要放一個Button,點選彈出選單
2.menu.xml:就是彈出顯示的選單的佈局
MainActivity.java: 點選Button,彈出PopupWindow
public class MainActivity extends AppCompatActivity { Button button; PopupWindow popupWindow; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button=findViewById(R.id.btn_menu); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 獲取自定義的選單佈局檔案 View menu_view=getLayoutInflater().inflate(R.layout.menu,null,false); // 建立PopupWindow例項,設定選單寬度和高度為包裹其自身內容 popupWindow=new PopupWindow(menu_view, LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT,true); //設定選單顯示在按鈕的下面 popupWindow.showAsDropDown(button,0,0); // 點選其他地方消失 menu_view.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { //如果選單存在並且為顯示狀態,就關閉選單並初始化選單 if (popupWindow!=null&&popupWindow.isShowing()){ popupWindow.dismiss(); popupWindow=null; } return false; } }); } }); } }