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

高洛峰
Libérer: 2017-01-20 15:55:28
original
2832 Les gens l'ont consulté

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);
}
Copier après la connexion

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());
Copier après la connexion

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);
    }
}
Copier après la connexion

Le code ci-dessus

popWin.setOnDismissListener(new poponDismissListener());
Copier après la connexion

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 !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal