日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

自定义PopupWindow弹出后背景灰色状态

發(fā)布時(shí)間:2024/9/5 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自定义PopupWindow弹出后背景灰色状态 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近有做fragment里彈出自定義popupWindow,

?

fragment里面調(diào)用:

// 點(diǎn)擊加號(hào)按鈕
@Click
protected void ll_add_pharmacy() {

mPopTempList.showAsDropDown(ll_add_pharmacy, 0, getActivity()); ?// 傳給popupWindow?getActivity();

mPopTempList.setOnClickListener(new OnOKClickListener() {

@Override
public void onOKClick(int which) {
switch (which) {
case 1: // 添加藥品
Intent intent = new Intent();
// ONEALLBACTH 代表單品或批量添加 標(biāo)識(shí)1代表單品
intent.putExtra("ONEALLBACTH", "1");
intent.setClass(getActivity(), AnnotationClassUtil.get(AddNewPharmacyActivity1.class));
getActivity().startActivityForResult(intent, MainActivity.CONNECT_GUN);
break;

}
}
});
}

?

自定義popupWindow:

package com.hospital.widget;

import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.PopupWindow;
import android.widget.PopupWindow.OnDismissListener;
import android.widget.TextView;

import com.hospital.R;

/**
*
* @ClassName: PopSelectPharmacy
* @Description: TODO
* @author wuc
*
*/
public class PopSelectPharmacy implements View.OnClickListener{

/**
* int which
* 1.添加藥品 2.庫(kù)存提醒 3.搜索藥品
* @author Achen
*
*/
public static interface OnOKClickListener {
public void onOKClick(int which);
}

//生命接口對(duì)象
private OnOKClickListener mClickListener;

//設(shè)置監(jiān)聽(tīng)器 也就是實(shí)例化接口
public void setOnClickListener(final OnOKClickListener clickListener) {
this.mClickListener = clickListener;
}

private Context context;
private PopupWindow popupWindow;
private TextView tv_addDrug, tv_storageRemind, tv_searchDrug;
private LayoutInflater inflater;
private ImageView iv_yfgl_addXiaoHongDianKuCun ;

public ImageView getIv_yfgl_addXiaoHongDianKuCun() {
return iv_yfgl_addXiaoHongDianKuCun;
}

public void setIv_yfgl_addXiaoHongDianKuCun(
ImageView iv_yfgl_addXiaoHongDianKuCun) {
this.iv_yfgl_addXiaoHongDianKuCun = iv_yfgl_addXiaoHongDianKuCun;
}

public PopSelectPharmacy(final Context context) {
this.context = context;

inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.pop_selectpharmacy, null);

tv_addDrug = (TextView) view.findViewById(R.id.tv_addDrug);
tv_storageRemind = (TextView) view.findViewById(R.id.tv_storageRemind);
tv_searchDrug = (TextView) view.findViewById(R.id.tv_searchDrug);
iv_yfgl_addXiaoHongDianKuCun = (ImageView) view.findViewById(R.id.iv_yfgl_addXiaoHongDianKuCun);

tv_addDrug.setOnClickListener(this);
tv_storageRemind.setOnClickListener(this);
tv_searchDrug.setOnClickListener(this);

popupWindow = new PopupWindow(view, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
// 這個(gè)是為了點(diǎn)擊“返回Back”也能使其消失,并且并不會(huì)影響你的背景(很神奇的)
popupWindow.setBackgroundDrawable(context.getResources().getDrawable(R.drawable.add_drugbackground));

}

// 下拉式 彈出 pop菜單 parent 右下角
public void showAsDropDown(View parent, String key, Activity activity) {
showAsDropDown(parent, 0, activity);
}

private View parent;
/**
* 為了解決 設(shè)置背景后padding無(wú)效的bug
* @param parent
* @param key
* @param padding
*/
public void showAsDropDown(View parent, int[] padding) {

this.parent = parent;
popupWindow.showAsDropDown(parent, 0, context.getResources().getDimensionPixelSize(R.dimen.popmenu_yoff));
popupWindow.setBackgroundDrawable(context.getResources().getDrawable(R.drawable.add_drugbackground));
parent.setPadding(padding[0], padding[1], padding[2], padding[3]);
popupWindow.setOnDismissListener(new OnDismissListener() {

@Override
public void onDismiss() {

}
});
// 使其聚集
popupWindow.setFocusable(true);
// 設(shè)置允許在外點(diǎn)擊消失
popupWindow.setOutsideTouchable(true);
// 刷新?tīng)顟B(tài)
popupWindow.update();
}

public void showAsDropDown(View parent, int padding, final Activity activity) {
this.parent=parent;
int[] paddings = { padding, padding, padding, padding };
showAsDropDown(parent, paddings);

// 設(shè)置背景顏色變暗
WindowManager.LayoutParams lp = activity.getWindow().getAttributes();
lp.alpha = 0.7f;
activity.getWindow().setAttributes(lp);
popupWindow.setOnDismissListener(new OnDismissListener() {

@Override
public void onDismiss() {
WindowManager.LayoutParams lp = activity.getWindow().getAttributes();
lp.alpha = 1f;
activity.getWindow().setAttributes(lp);
}
});
}

public void dismissPop() {
if(parent!=null)
popupWindow.dismiss();
}

public PopupWindow getPopupWindow() {
return popupWindow;
}

@Override
public void onClick(final View v) {
// TODO Auto-generated method stub
final int id = v.getId();
switch (id) {
case R.id.tv_addDrug:
if (this.mClickListener != null) {
this.mClickListener.onOKClick(1);
popupWindow.dismiss();
}
break;
case R.id.tv_storageRemind:
if (this.mClickListener != null) {
this.mClickListener.onOKClick(2);
popupWindow.dismiss();
}
break;
case R.id.tv_searchDrug:
if (this.mClickListener != null) {
this.mClickListener.onOKClick(3);
popupWindow.dismiss();
}
break;
}
}
}

?

轉(zhuǎn)載于:https://www.cnblogs.com/achen0502/p/5520829.html

總結(jié)

以上是生活随笔為你收集整理的自定义PopupWindow弹出后背景灰色状态的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。