Heim  >  Artikel  >  Java  >  Die Android-Programmierung erkennt, dass der Bildschirmhintergrund nach dem Öffnen des Popup-Fensters durchscheinend wird

Die Android-Programmierung erkennt, dass der Bildschirmhintergrund nach dem Öffnen des Popup-Fensters durchscheinend wird

高洛峰
高洛峰Original
2017-01-20 15:55:282738Durchsuche

Das Beispiel in diesem Artikel beschreibt die Methode der Android-Programmierung, um zu realisieren, dass der Bildschirmhintergrund durchscheinend wird, nachdem das Popup-Fenster geöffnet wird. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Nachdem das Popup-Fenster in Android angezeigt wird, wird der Bildschirmhintergrund durchscheinend. Dieser Effekt tritt sehr häufig auf. Es gibt viele Möglichkeiten, dies zu erreichen. Was ich verwende, ist wahrscheinlich das einfachste, nämlich das Festlegen der Transparenz von getWindows. Zum Code gibt es nicht viel zu sagen.

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

ist als Methode festgelegt, da wir die Transparenz wieder ändern müssen, wenn das Pop-Fenster geschlossen wird.

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());

Jemand fragt sich hier vielleicht: Wenn ich auf eine leere Stelle auf dem Bildschirm klicke, verschwindet das Popup-Fenster, aber der Hintergrund ist immer noch durchsichtig wird nicht funktionieren. Hier verwenden wir ein Ereignis

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

Der obige Code

popWin.setOnDismissListener(new poponDismissListener());

soll dieses Ereignis aufrufen

Ich hoffe, dieser Artikel wird hilfreich sein An alle: Android-Programmierung hilft.

Für weitere Android-Programmierung zur Implementierung von Popup-Fenstern wird der Bildschirmhintergrund durchscheinend. Weitere Artikel finden Sie auf der chinesischen PHP-Website.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn