广

android开发

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

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

    2018-04-13 09:16:36 次阅读 稿源:互联网
    广告

    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>

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告