• 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.
  • 相关阅读:
    在 Students 的 Index 页面增加列标题链接(排序),分页,过滤和分组功能
    Contoso 大学
    如何搭建MVC + EF 框架
    EF与手写Model的区别以及联系
    報錯:One or more validation errors were detected during model generation:System.Data.Edm.EdmEntityType: : EntityType 'Movie' has no key
    Oracle四舍五入,向上取整,向下取整
    datagrid中设置编辑,删除列是否可以访问
    datagrid中设置编辑,删除列是否可以访问
    C#实现打印
    C#中rpt的数据类型和Oracle中数据类型的匹配
  • 原文地址:https://www.cnblogs.com/jenson138/p/4028138.html
Copyright © 2020-2023  润新知