android教程之使用popupwindow创建菜单示例

 更新时间:2014年02月14日 12:57:39   作者:  
这篇文章主要介绍了android使用popupwindow创建菜单的示例,需要的朋友可以参考下

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>

相关文章

  • 安卓逆向案例分析之蝉妈妈sign破解

    安卓逆向案例分析之蝉妈妈sign破解

    这篇文章主要为大家介绍了安卓逆向案例分析蝉妈妈sign破解的方式讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-02-02
  • Android 自定View实现仿QQ运动步数圆弧及动画效果

    Android 自定View实现仿QQ运动步数圆弧及动画效果

    这篇文章主要介绍了Android自定义view实现高仿QQ运动步数圆弧及动画效果的实例代码,本文涉及到绘制圆弧需要具备的知识点,需要的朋友可以参考下
    2016-10-10
  • Android ChipGroup收起折叠效果实现详解

    Android ChipGroup收起折叠效果实现详解

    这篇文章主要为大家介绍了Android ChipGroup收起折叠效果实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • android之SeekBar控件用法详解

    android之SeekBar控件用法详解

    下面小编就为大家带来一篇android之SeekBar控件用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • Android带清除按钮、密码可见小眼睛的输入框

    Android带清除按钮、密码可见小眼睛的输入框

    这篇文章主要介绍了Android带清除按钮、密码可见小眼睛的输入框,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Flutter 包管理器和资源管理使用学习

    Flutter 包管理器和资源管理使用学习

    这篇文章主要为大家介绍了Flutter 包管理器和资源管理使用学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Android使用Intent传大数据简单实现详解

    Android使用Intent传大数据简单实现详解

    这篇文章主要为大家介绍了Android使用Intent传大数据简单实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Android实现完整游戏循环的方法

    Android实现完整游戏循环的方法

    这篇文章主要介绍了Android实现完整游戏循环的方法,以实例代码形式较为详细的分析了Android游戏循环的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • Delphi在Android下使用Java库的方法

    Delphi在Android下使用Java库的方法

    这篇文章主要介绍了Delphi在Android下使用Java库的方法,本文以Android的USB串口通讯库为例,给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • 简单实现Android弹出菜单效果

    简单实现Android弹出菜单效果

    这篇文章主要为大家详细介绍了简单实现Android弹出菜单效果的相关代码,感兴趣的小伙伴们可以参考一下
    2016-06-06

最新评论