3
나는 lockscreen에 표시 할 수있는 뷰가 있습니다. 그러나 나는 그것을 선택적으로 만들고 싶다.WindowManager.LayoutParams 유형을 프로그래밍 방식으로 변경하는 방법은 무엇입니까?
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_SYSTEM_ERROR,
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH |
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, PixelFormat.TRANSPARENT);
을 그리고 잠금 화면에 표시되지 위해 나는 그들이 잘 작동하지만 프로그래밍 종류와 플래그를 변경하려면
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH |
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, PixelFormat.TRANSPARENT);
별도로를 사용 : 현재 나는 이것을 달성하기 위해이 PARAMS를 사용합니다. 그래서 나는 형식을 제거 플래그를 제거하고 새로운 유형, 을 설정
params.flags &= ~WindowManager.LayoutParams.TYPE_SYSTEM_ERROR;
params.flags &= ~WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED;
params.flags |= WindowManager.LayoutParams.TYPE_PHONE;
windowManager.updateViewLayout(myView,params);
으로 WindowManager.LayoutParams을 변경하려하지만 그건 작동하지 않습니다. 아무도 이것을 정확하게하는 방법을 알고 있습니까?
어떻게'type' 속성을 놓쳤습니까? 고맙습니다! – Denny