精华内容
下载资源
问答
  • popWindow

    2014-05-23 18:07:39
    popWindow
    popWindow
    展开全文
  • popwindow

    2018-12-07 10:39:47
    Unable to add window – token null ...写了一个popwindow报的这个错,反复检查代码都感觉没有问题,但是提示parentView为空, 我是这样获取的: mMainTypePW.showAtLocation(this.getWindow().getDecorView(), Gr...

    Unable to add window – token null is not valid; is your activity running?

    问题:

    写了一个popwindow报的这个错,反复检查代码都感觉没有问题,但是提示parentView为空,
    我是这样获取的:
    mMainTypePW.showAtLocation(this.getWindow().getDecorView(), Gravity.CENTER, 0, 0);

    原因:

    popwindow的显示必须要依托于一个activity的parentView,popwindow的显示必须要在activity的生命周期走完之后才能显示,一般我们用的点击后显示就没有什么问题,因为点击的时候生命周期已经走完了。而我是写在onCreate里面检测自动弹出,所以才报空。

    解决:

    加上一个post延时显示就可以了。

    rlhome.post(new Runnable() {
                      @Override
                      public void run() {
                          showMainTypePW();
                      }
                  });
    
    展开全文
  • PopWindow

    2018-06-05 12:28:35
    PopWindow是一种弹窗,像dialog一样是一种悬浮弹窗。 使用: 可以自己定义一个类继承系统里的PopWindow,即自定义,也可以使用系统的PopWIndow。看情况使用吧。 PopWindow和Activity有些地方有点像,比如他可以用...

    PopWindow是一种弹窗,像dialog一样是一种悬浮弹窗。

    使用:
    可以自己定义一个类继承系统里的PopWindow,即自定义,也可以使用系统的PopWIndow。看情况使用吧。

    PopWindow和Activity有些地方有点像,比如他可以用setContentView(View view)来建立自己的内容布局。所以它需要一个xml来定义它自己的布局。

    定义popwinodw.xml
    代码创建popwindow对象(自己写的类或系统都行)

    然后可以给它在代码里 动态设置一些属性

    setWidth(ViewGroup.LayoutParams.MATCH_PARENT); //宽
    setHeight(ViewGroup.LayoutParams.MATCH_PARENT); // 高
    setFocusable(true); // 焦点
    setBackgroundDrawable(new ColorDrawable(0x50000000)); // 背景
    setAnimationStyle(R.style.PopupAnimation ); //动画
    setInputMethodMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); //代码设置弹出键盘是挤压窗口
    
    自定义类里面setContenView(mView); 或者在MainActivity里用对象调用此方法
    showAsDropDown(view,0,0,Gravity.CENTER)//展示popwindow

    这个方法说一下:
    第一个参数,参考view
    第二个参数和第三个参数是popwindow左上角坐标:x ,y
    第三个参数:设置popwindow位置Gravity

    dismiss() //用于使popwindow消失
    展开全文
  • Popwindow

    2018-10-22 14:55:43
    package com.example.administrator.popwindow; import android.app.ActionBar; import android.os.Build; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; impor...

     MainActivity:

    package com.example.administrator.popwindow;
    
    import android.app.ActionBar;
    import android.os.Build;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.text.TextUtils;
    import android.view.Gravity;
    import android.view.View;
    import android.view.WindowManager;
    import android.widget.PopupWindow;
    import android.widget.TextView;
    import android.widget.Toast;
    
    public class MainActivity extends AppCompatActivity implements View.OnClickListener{
    
        private TextView mKuang1,mKuang2,mKuang3;
        private TextView mXuanxiangyi,mXuanxianger,mXuanxiangsan;
        private PopupWindow popupWindow;
        private View popupView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            mKuang1=findViewById(R.id.kuang1);
            mKuang2=findViewById(R.id.kuang2);
            mKuang3=findViewById(R.id.kuang3);
            mKuang1.setOnClickListener(this);
            mKuang2.setOnClickListener(this);
            mKuang3.setOnClickListener(this);
    
        }
    
        @Override
        public void onClick(View view) {
            switch (view.getId()){
                case R.id.kuang1:
                    SortPop();
                    break;
                case R.id.kuang2:
                    SortPop();
                    break;
                case R.id.kuang3:
                    SortPop();
                    break;
                case R.id.xuanxiangyi:
                    Toast.makeText(MainActivity.this,"选项一",Toast.LENGTH_SHORT).show();
                    break;
                case R.id.xuanxianger:
                    Toast.makeText(MainActivity.this,"选项二",Toast.LENGTH_SHORT).show();
                    break;
                case R.id.xuanxiangsan:
                    Toast.makeText(MainActivity.this,"选项三",Toast.LENGTH_SHORT).show();
                    break;
            }
        }
    
        /**
         * 排序弹出框
         */
        private void SortPop() {
            if (popupWindow == null) {
                popupView = View.inflate(MainActivity.this, R.layout.popwindow, null);
                mXuanxiangyi = popupView.findViewById(R.id.xuanxiangyi);
                mXuanxianger = popupView.findViewById(R.id.xuanxianger);
                mXuanxiangsan = popupView.findViewById(R.id.xuanxiangsan);
                mXuanxiangyi.setOnClickListener(this);
                mXuanxianger.setOnClickListener(this);
                mXuanxiangsan.setOnClickListener(this);
                // 参数2,3:指明popupwindow的宽度和高度
                popupWindow = new PopupWindow(popupView, ActionBar.LayoutParams.MATCH_PARENT, ActionBar.LayoutParams.WRAP_CONTENT, true);
                int screenHeigh = getResources().getDisplayMetrics().heightPixels;
                popupWindow.setHeight(ActionBar.LayoutParams.WRAP_CONTENT);
                popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
                    @Override
                    public void onDismiss() {
                        lighton();
                    }
                });
    
                popupWindow.setFocusable(true);
                // 设置点击popupwindow外屏幕其它地方消失
                popupWindow.setOutsideTouchable(true);
                // 在点击之后设置popupwindow的销毁
                if (popupWindow.isShowing()) {
                    popupWindow.dismiss();
                    lighton();
                }
    
            }
            // 在点击之后设置popupwindow的销毁
            if (popupWindow.isShowing()) {
                popupWindow.dismiss();
                lighton();
            }
    
            // 设置popupWindow的显示位置,此处是在手机屏幕底部且水平居中的位置
            if (Build.VERSION.SDK_INT != 24) {
                //只有24这个版本有问题,好像是源码的问题
                popupWindow.showAsDropDown(mKuang1);
            } else {
                //7.0 showAsDropDown没卵子用 得这么写
                int[] location = new int[2];
                mKuang1.getLocationOnScreen(location);
                int x = location[0];
                int y = location[1];
                popupWindow.showAtLocation(mKuang1, Gravity.NO_GRAVITY, 0, y + mKuang1.getHeight());
            }
        }
    
        /**
         * 设置手机屏幕亮度变暗
         */
        private void lightoff() {
            WindowManager.LayoutParams lp = this.getWindow().getAttributes();
            lp.alpha = 0.3f;
            this.getWindow().setAttributes(lp);
        }
    
        /**
         * 设置手机屏幕亮度显示正常
         */
        private void lighton() {
            WindowManager.LayoutParams lp = this.getWindow().getAttributes();
            lp.alpha = 1f;
            this.getWindow().setAttributes(lp);
        }
    }
    

    MianActivity布局:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".MainActivity">
    
        <LinearLayout
            android:layout_width="match_parent"
            android:orientation="horizontal"
            android:layout_height="50dp">
    
            <TextView
                android:id="@+id/kuang1"
                android:layout_weight="1"
                android:layout_width="match_parent"
                android:text="弹出框1"
                android:gravity="center"
                android:layout_height="match_parent" />
            <View
                android:layout_width="1dp"
                android:background="#f2f2f2"
                android:layout_height="match_parent"/>
            <TextView
                android:id="@+id/kuang2"
                android:layout_weight="1"
                android:layout_width="match_parent"
                android:text="弹出框2"
                android:gravity="center"
                android:layout_height="match_parent" />
            <View
                android:layout_width="1dp"
                android:background="#f2f2f2"
                android:layout_height="match_parent"/>
            <TextView
                android:id="@+id/kuang3"
                android:layout_weight="1"
                android:layout_width="match_parent"
                android:text="弹出框3"
                android:gravity="center"
                android:layout_height="match_parent" />
    
        </LinearLayout>
    
        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="#f2f2f2"/>
    
    </LinearLayout>
    

    popwindow布局:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:background="#fff"
        android:orientation="vertical"
        android:layout_height="wrap_content">
    
        <TextView
            android:padding="15dp"
            android:id="@+id/xuanxiangyi"
            android:layout_width="match_parent"
            android:text="选项一"
            android:layout_height="wrap_content" />
    
        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="#f2f2f2"/>
    
        <TextView
            android:padding="15dp"
            android:id="@+id/xuanxianger"
            android:layout_width="match_parent"
            android:text="选项二"
            android:layout_height="wrap_content" />
        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="#f2f2f2"/>
        <TextView
            android:padding="15dp"
            android:id="@+id/xuanxiangsan"
            android:layout_width="match_parent"
            android:text="选项三"
            android:layout_height="wrap_content" />
        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="#f2f2f2"/>
    </LinearLayout>

    下载地址:https://download.csdn.net/download/lanrenxiaowen/10736822

    展开全文
  • POPwindow

    2008-06-26 02:32:00
    {window.open("pop.htm","","width=260,height=316,top=0,scrollbars=0,scrollbars=no");}
  • 安卓Popwindow

    2017-06-05 15:42:47
    安卓Popwindow
  • Android PopWindow

    2015-07-17 17:26:03
    Button 点击 弹出 PopWindow,数据写死的
  • popwindow DEMO

    2015-05-22 12:43:24
    popwindow可以在你指定的地方弹出一个框来显示你想要的内容,貌似系统的spinner也是用的popwind来实现的(其中的一种方式),所以 想自定义一个控制更容易的下拉框用popwindow比较简单好实现
  • 20120112popwindow

    2012-01-12 00:10:56
    20120112popwindow
  • PopWindow.zip

    2019-10-09 18:03:04
    自定义popwindow,支持定制显示位置,动画效果自定义,recycleView

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,240
精华内容 2,896
关键字:

popwindow