• Android应用中使用Popupmenu


    最终效果:

    页面布局:

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     3     android:layout_width="fill_parent"
     4     android:layout_height="fill_parent"
     5     android:background="#FFFFFF"
     6     android:orientation="vertical" >
     7 
     8     <RelativeLayout
     9         android:layout_width="fill_parent"
    10         android:layout_height="45dp"
    11         android:background="#303538" >
    12         <Button
    13             android:id="@+id/button_showPopup"
    14             android:layout_width="wrap_content"
    15             android:layout_height="fill_parent"
    16             android:layout_alignParentRight="true"
    17             android:background="#303538"
    18             android:text="┇"
    19             android:textColor="#FFFFFF"
    20             android:textSize="20sp" >
    21         </Button>
    22     </RelativeLayout>
    23 
    24 </LinearLayout>

    Popupmenu布局(文件在menu目录下):

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <menu xmlns:android="http://schemas.android.com/apk/res/android" >
     3 
     4     <item
     5         android:id="@+id/about"
     6         android:orderInCategory="100"
     7         android:showAsAction="never"
     8         android:title="关于">
     9     </item>
    10     <item
    11         android:id="@+id/exit"
    12         android:orderInCategory="100"
    13         android:showAsAction="never"
    14         android:title="退出">
    15     </item>
    16 
    17 </menu>

    后台代码:

     1 package com.wangzhen.popup;
     2 
     3 import android.app.Activity;
     4 import android.os.Bundle;
     5 import android.view.MenuItem;
     6 import android.view.View;
     7 import android.view.View.OnClickListener;
     8 import android.view.Window;
     9 import android.widget.Button;
    10 import android.widget.PopupMenu;
    11 import android.widget.Toast;
    12 
    13 public class Main extends Activity implements OnClickListener,
    14         android.widget.PopupMenu.OnMenuItemClickListener {
    15     /** Called when the activity is first created. */
    16     private Button button_showPopup;
    17 
    18     @Override
    19     public void onCreate(Bundle savedInstanceState) {
    20         super.onCreate(savedInstanceState);
    21         requestWindowFeature(Window.FEATURE_NO_TITLE);
    22         setContentView(R.layout.main);
    23         initViews();
    24     }
    25 
    26     // 初始化控件
    27     private void initViews() {
    28         // TODO Auto-generated method stub
    29         button_showPopup = (Button) findViewById(R.id.button_showPopup);
    30         button_showPopup.setOnClickListener(this);
    31     }
    32 
    33     public void onClick(View arg0) {
    34         // TODO Auto-generated method stub
    35         switch (arg0.getId()) {
    36         case R.id.button_showPopup:
    37             PopupMenu pop = new PopupMenu(this, arg0);
    38             pop.getMenuInflater().inflate(R.menu.menu, pop.getMenu());
    39             pop.show();
    40             pop.setOnMenuItemClickListener(this);
    41             break;
    42         }
    43     }
    44 
    45     public boolean onMenuItemClick(MenuItem arg0) {
    46         // TODO Auto-generated method stub
    47         switch (arg0.getItemId()) {
    48         case R.id.about:
    49             Toast.makeText(this, "关于", 1000).show();
    50             break;
    51         case R.id.exit:
    52             finish();
    53             break;
    54         }
    55         return false;
    56     }
    57 }
  • 相关阅读:
    java中会存在内存泄漏吗,请简单描述?
    垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
    SpringMvc的控制器是不是单例模式,如果是,有什么问题,怎么解决?
    SpringMVC怎么样设定重定向和转发的?
    Spring MVC的异常处理 ?
    如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快速得到这个对象?
    Spring是什么?
    SpringMvc用什么对象从后台向前台传递数据的?
    SpringMvc中函数的返回值是什么?
    BeanFactory和ApplicationContext有什么区别?
  • 原文地址:https://www.cnblogs.com/lavalike/p/3804342.html
Copyright © 2020-2023  润新知