Maison >Java >javaDidacticiel >La programmation Android se rend compte que l'arrière-plan de l'écran devient translucide après l'apparition d'une fenêtre contextuelle

La programmation Android se rend compte que l'arrière-plan de l'écran devient translucide après l'apparition d'une fenêtre contextuelle

高洛峰
高洛峰original
2017-01-20 15:55:282825parcourir

L'exemple de cet article décrit la méthode de programmation Android pour que l'arrière-plan de l'écran devienne translucide après l'apparition de la fenêtre contextuelle. Partagez-le avec tout le monde pour référence, les détails sont les suivants :

Une fois la fenêtre contextuelle apparue dans Android, l'arrière-plan de l'écran devient translucide. Cet effet est très courant. Il existe de nombreuses façons d’y parvenir. Ce que j'utilise est probablement le plus simple, qui consiste à définir la transparence de getWindows. Pas grand chose à dire sur le code

/**
* 设置添加屏幕的背景透明度
* @param bgAlpha
*/
public void backgroundAlpha(float bgAlpha)
{
    WindowManager.LayoutParams lp = getWindow().getAttributes();
        lp.alpha = bgAlpha; //0.0-1.0
        getWindow().setAttributes(lp);
}

est défini comme méthode car nous devons modifier la transparence lorsque la fenêtre contextuelle est fermée.

popWin = new PopupWindow(popAddNoteType, mScreenWidth *8 /10, ViewGroup.LayoutParams.WRAP_CONTENT);
//在PopupWindow里面就加上下面代码,让键盘弹出时,不会挡住pop窗口。
popWin.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED);
popWin.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
//点击空白处时,隐藏掉pop窗口
popWin.setFocusable(true);
popWin.setBackgroundDrawable(new BitmapDrawable());
backgroundAlpha(1f);
//添加pop窗口关闭事件
popWin.setOnDismissListener(new poponDismissListener());

Quelqu'un peut demander ici, lorsque je clique sur un espace vide de l'écran, la fenêtre contextuelle disparaît, mais l'arrière-plan est toujours translucide. ne fonctionnera pas. Ici, nous utilisons un événement

/**
* 添加新笔记时弹出的popWin关闭的事件,主要是为了将背景透明度改回来
* @author cg
*
*/
class poponDismissListener implements PopupWindow.OnDismissListener{
    @Override
    public void onDismiss() {
      // TODO Auto-generated method stub
      //Log.v("List_noteTypeActivity:", "我是关闭事件");
      backgroundAlpha(1f);
    }
}

Le code ci-dessus

popWin.setOnDismissListener(new poponDismissListener());

est d'appeler cet événement

J'espère que cet article vous sera utile pour tout le monde, la programmation Android aide.

Pour plus de programmation Android permettant d'implémenter le pop-up popupwindow, l'arrière-plan de l'écran devient translucide. Pour les articles connexes, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn