1. 程式人生 > >Android --右上角彈出選單

Android --右上角彈出選單

效果:


兩個佈局檔案:

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; } }); } }); } }