我尝试创建一个覆盖窗口,它停留在我所有其他窗口的顶部,只是显示一些(半透明)信息。这就是我发现但不起作用的东西:
LayoutInflater li = LayoutInflater.from(getBaseContext());
View hudView = li.inflate(R.layout.hud,null);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE|WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE|WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.RIGHT | Gravity.TOP;
params.setTitle("Load Average");
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
wm.addView(hudView, params);
bigCntTextHud=(TextView)hudView.findViewById(R.id.bigCntTextHud);
R.layout.hud是我想用于该叠加窗口的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/vertLinLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="fill_horizontal"
android:orientation="vertical" >
<TextView
android:id="@+id/bigCntTextHud"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:textSize="105dp"
android:textStyle="bold"
android:layout_gravity="right"
android:layout_marginTop="-30dp"
android:layout_marginBottom="0dp"
android:layout_marginRight="10dp"
/>
<TextView
android:id="@+id/bigOpenCntTextHud"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="right"
android:textSize="56dp"
android:layout_gravity="right"
android:textStyle="bold"
android:layout_marginTop="-42dp"
android:layout_marginBottom="0dp"
android:layout_marginRight="10dp"
/>
</LinearLayout>
不幸的是只有后退按钮被阻止,当我按下主页按钮时我看不到我的“桌面”,只有空白的壁纸和我的bigCntTextHud(肯定是设置为某些东西)在任何地方都看不到。我在这里做错了什么想法?