항상 안드로이드 디스플레이 앞에있는 활동을 만들고 싶습니다. 입력이 없어야하며, 그 아래에있는 응용 프로그램으로 전달하십시오. HUD와 같은 것.안드로이드에서 항상 최상위 전체 화면 오버레이 활동을 만드는 방법
기본 윈도우 유형을 TYPE_SYSTEM_ALERT로 설정해야한다는 것을 조사 할 수 있었지만 안드로이드가 내 코드를 무시하는 것처럼 보입니다. 매니페스트에서 android.permission.SYSTEM_ALERT_WINDOW 권한을 삭제해도 예외가 발생하지 않습니다. (이 창 유형을 사용해야합니다). 대화 상자에 ALERT 유형을 사용하려고 시도했지만 정상적으로 작동했지만 대화 상자를 전체 화면 투명 엔터티로 만들 수 없습니다. 여기 내 코드가 있습니다. 아마도 간단한 누락이있을 수 있습니다.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
getWindow().setBackgroundDrawableResource(android.R.color.transparent);
getWindow().setFormat(PixelFormat.TRANSLUCENT);
setContentView(R.layout.main);
}
반투명 설정은 그렇지도 작동하지 않았다, XML 매니페스트에서 외부에서 활성화해야합니다.
<item name="android:windowIsTranslucent">true</item>
onCreate 메서드는 어떻게 생겼습니까? 나는 지금 이것을 직접 시험하고있다. – Rell3oT
ViewGroup mTopView = (ViewGroup) App.inflater.inflate (R.layout.main, null); @tmouse 여기 APP는 무엇입니까? – rana
@tmouse R.layout.main이란 무엇입니까? 활동 레이아웃입니까? 또는 필러 뷰가 투명합니까? – Premier