• Android 中PopupWindow使用 (转)


    参考学习后遇到问题:

    要引用:有好几个,可以用错误提示解决;

    import android.widget.PopupWindow;

    import android.widget.Toast;

    Activity调用过程 :

    首先定义一个BUTTON变量和mContext

        private Button mshowBtn;
        private Context mContext; 

      @Override
     protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      startService(new Intent(LoginActivity.this, MicroVideoService.class));
      bindXMPPService();
      setContentView(R.layout.loginpage);
      mContext=this;  
      initView();
     }

    //指定事件

      mshowBtn= (Button) findViewById(R.id.showbtn);
      mshowBtn.setOnClickListener(mshowBtnOnClickListener);

    //实现事件并调用

        private OnClickListener mshowBtnOnClickListener= new OnClickListener(){
     @Override
     public void onClick(View v) {
      showPopWindow(mContext,v);
     }
       
        };

    (转自:import android.widget.PopupWindow;)

    Android 中PopupWindow使用。

    PopupWindow会阻塞对话框,要在外部线程 或者 PopupWindow本身做退出才行。

    mypopWindow.xml的Layout设计如下

    <?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:background="#259"
        android:orientation="vertical" >
     
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Here is Pop Window" />
     
        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="OK" />
     
        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Cancle" />
     
    </LinearLayout>
     
    MainActivity.java文件。

     在MainActivity的Button按钮单击,然后显示PopupWindow。

    private void showPopWindow(Context context, View parent)
        {      
            LayoutInflater inflater = (LayoutInflater)             
                    context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);    
            final View vPopWindow=inflater.inflate(R.layout.mypopwindow, null, false); 
            //宽300 高300           
            final PopupWindow popWindow = new PopupWindow(vPopWindow,300,300,true);
            Button okButton = (Button)vPopWindow.findViewById(R.id.button1);
            okButton.setOnClickListener(new View.OnClickListener() {
                 
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    Toast.makeText(MainActivity.this, "You click OK", Toast.LENGTH_SHORT).show();
                }
            });
             
            Button cancleButton = (Button)vPopWindow.findViewById(R.id.button2);
            cancleButton.setOnClickListener(new View.OnClickListener() {
                 
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    popWindow.dismiss(); //Close the Pop Window
                }
            });
             
            popWindow.showAtLocation(parent, Gravity.CENTER, 0, 0);
             
             
        }
     
    效果图如下:最后显示是剧中的,这里我只是截取了部分图片。
     
    单击Ok按钮显示You click OK信息。单击取消,则关闭PopupWindow.
  • 相关阅读:
    windown 下最简单的安装mysql方式
    mac 重置mysql密码
    开发过程中用到的软件
    Springboot 热部署问题。亲测可用。
    时间转换~
    java 流转换BASE64的一些问题
    SpringMvc 使用Thumbnails压缩图片
    SpringMVC Get请求传集合,前端"异步"下载excel 附SpringMVC 后台接受集合
    Mac 笔记本 开发日记
    RabbitMQ入门:路由(Routing)
  • 原文地址:https://www.cnblogs.com/jenson138/p/4028138.html
Copyright © 2020-2023  润新知