| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1724 人关注过本帖
标题:popuwindow 在Fragment的使用
只看楼主 加入收藏
Stroy
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-10-23
收藏
 问题点数:0 回复次数:0 
popuwindow 在Fragment的使用
popuwindow已经在Activity里面实现功能,但是移植到Fragment上各种Null异常、、、、新手求帮助


这是已经在Activity实现的popuwindow  在Fragment上怎么菜能使用 要改哪些点

package com.example.ex01day01;

import android.app.Activity;
import android.content.Context;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.PopupWindow;
import android.widget.PopupWindow.OnDismissListener;

public class PopuWindowActivity extends Activity {

    private Button mButton;
    private PopupWindow popupWindow;
    private View contentView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mButton = (Button) findViewById(R.id.button1);
        
        initpw();
        
    }

    private void initpw() {
        contentView = getLayoutInflater().inflate(R.layout.layout_popu, null);
        // popupWindow 显示的布局 大小 是否可点击
        popupWindow = new PopupWindow(contentView, LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, true);
    }

    public void btnPopu(View v) {
        
        if (popupWindow.isShowing()) {
            if (popupWindow!=null) {
                popupWindow.dismiss();
            }
        }else {
            initPoup();
        }
    }

    private void initPoup() {
        contentView.findViewById(R.id.button1).setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // 关闭
                popupWindow.dismiss();
                android.view.WindowManager.LayoutParams lp = getWindow().getAttributes();
                lp.alpha = 1.0f;
                getWindow().setAttributes(lp);
            }
        });
        // 设置背景图片
        popupWindow.setBackgroundDrawable(new BitmapDrawable());
        // 设置进入退出动画
        popupWindow.setAnimationStyle(R.style.PoPuWindonAnime);
        // 设置显示在某个控件下
        // popupWindow.showAsDropDown(mButton);
        // 设置显示在布局中的位置
        popupWindow.showAtLocation(mButton, Gravity.BOTTOM, 0, 0);
        //设置屏幕透明度
        android.view.WindowManager.LayoutParams lp = getWindow().getAttributes();
        lp.alpha = 0.8f;
        getWindow().setAttributes(lp);
        //设置退出监听事件
        popupWindow.setOnDismissListener(new OnDismissListener() {
            @Override
            public void onDismiss() {
                android.view.WindowManager.LayoutParams lp = getWindow().getAttributes();
                lp.alpha = 1f;//设置屏幕不透明
                 getWindow().setAttributes(lp);
            }
        });
    }
}
搜索更多相关主题的帖子: import package 
2016-10-23 12:17
快速回复:popuwindow 在Fragment的使用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017306 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved