>  기사  >  Java  >  Android 프로그래밍은 팝업 창이 팝업된 후 화면 배경이 반투명해지는 것을 인식합니다.

Android 프로그래밍은 팝업 창이 팝업된 후 화면 배경이 반투명해지는 것을 인식합니다.

高洛峰
高洛峰원래의
2017-01-20 15:55:282703검색

이 기사의 예에서는 팝업 창이 팝업된 후 화면 배경이 반투명해지는 것을 구현하는 Android 프로그래밍 방법을 설명합니다. 참고하실 수 있도록 공유해 주세요. 자세한 내용은 다음과 같습니다.

Android에서는 팝업창이 뜬 후 화면 배경이 반투명해지는 현상이 매우 일반적입니다. 이를 달성하는 방법에는 여러 가지가 있습니다. 내가 사용하는 것은 아마도 getWindows의 투명도를 설정하는 가장 간단한 것일 것입니다.

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

코드에 대해서는 말할 것도 없습니다. 팝창이 닫힐 때 투명도를 다시 변경해야 하기 때문입니다.

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

누군가가 여기 물어볼 수도 있는데, 화면 빈 곳을 클릭하면 팝업창은 사라지는데 배경은 여전히 ​​반투명한데 이거 안 괜찮아 아. 여기서는

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

위의 코드

popWin.setOnDismissListener(new poponDismissListener());

에서 이 이벤트를 호출합니다.

이 글이 Android를 사용하는 모든 사람에게 유용하길 바랍니다. 프로그래밍에 도움이 되었습니다.

팝업창 팝업 구현을 위한 더 많은 안드로이드 프로그래밍을 원하시면 화면 배경이 반투명해집니다. 관련 글은 PHP 중국어 홈페이지를 참고해주세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.