我在Android应用程序上创建了一个覆盖层,如下所示:
private void createView()
{
mainView = new AppliView(this);
params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
| WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
| WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.BOTTOM;
wm = (WindowManager) getSystemService(WINDOW_SERVICE);
wm.addView(mainView, params);
}
这是我的AppliView课程:
public class AppliView extends ViewGroup
{
int color;
public AppliView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
canvas.drawColor(color);
}
public void setAlpha(int alpha)
{
color = 0x01000000 * alpha;
invalidate();
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
}
}
但是,当我使用方法addView时,我无法看到spinner中包含的列表。
我的视图创建中有什么问题?
编辑:我在添加视图后尝试调用clearFocus(),以便让其他重叠的窗口(如微调器内容)获得焦点,并且显示效果不佳。
感谢。