Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> android教程之使用popupwindow創建菜單示例

android教程之使用popupwindow創建菜單示例

編輯:Android開發實例

PopupWindow是一個彈出式窗口,它可以展示任意View。他會浮在當前窗口的上方展示。

下面看代碼:
代碼如下:

public class MyActivity extends Activity{
    private PopupWindow menu;
    private LayoutInflater inflater;
    private View layout;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        //實例化PopupWindow創建菜單

        initMenu();

    }
    //判斷按鍵 菜單的顯示與隱藏
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if(!menu.isShowing()&&keyCode == KeyEvent.KEYCODE_MENU){
           show();
        }else{
            menu.dismiss();
        }
        if(keyCode == KeyEvent.KEYCODE_BACK&&menu.isShowing()){
            menu.dismiss();
        }
        return true;

    }
    //實例化PopupWindow創建菜單
    private void initMenu(){
            //獲取LayoutInflater實例
            inflater  = (LayoutInflater) this.getSystemService(LAYOUT_INFLATER_SERVICE);
            //獲取彈出菜單的布局
            layout = inflater.inflate(R.layout.menu,null);
            //設置popupWindow的布局
            menu = new PopupWindow(layout, WindowManager.LayoutParams.WRAP_CONTENT,WindowManager.LayoutParams.WRAP_CONTENT);
    }
    //顯示菜單
    private void show(){
           //設置位置
            menu.showAtLocation(this.findViewById(R.id.main), Gravity.BOTTOM|Gravity.CENTER_HORIZONTAL,0,0); //設置在屏幕中的顯示位置
    }
}

菜單的布局文件:

代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

              android:layout_width="fill_parent"

              android:layout_height="fill_parent"

              android:orientation="horizontal"

        >

    <ImageView

        android:id="@+id/icon_1"

        android:background="@drawable/icon_1"

        android:layout_width="40dp"

        android:layout_height="40dp"/>

    <ImageView

        android:id="@+id/icon_2"

        android:background="@drawable/icon_2"

        android:layout_width="40dp"

        android:layout_height="40dp"/>

    <ImageView

        android:id="@+id/icon_3"

        android:background="@drawable/icon3"

        android:layout_width="40dp"

        android:layout_height="40dp"/>

    <ImageView

        android:id="@+id/icon_4"

        android:background="@drawable/icon4"

        android:layout_width="40dp"

        android:layout_height="40dp"/>
</LinearLayout>

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved