微调内容未在叠加下显示

时间:2011-11-22 22:07:06

标签: android

我在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(),以便让其他重叠的窗口(如微调器内容)获得焦点,并且显示效果不佳。

感谢。

0 个答案:

没有答案