【发布时间】:2012-03-29 20:50:10
【问题描述】:
我有一个适用于平板电脑的 ICS 代码。我想将 Imageview 动态添加到片段中。该片段已包含首选项列表。动态添加视图的代码如下。我正在编写这个拖放功能。这部分代码取自 Android 音乐应用的 TouchInterceptor.java 文件。
mWindowParams = new WindowManager.LayoutParams();
mWindowParams.gravity = Gravity.TOP ;
mWindowParams.x = 0;
mWindowParams.y = y
mWindowParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
mWindowParams.width = WindowManager.LayoutParams.WRAP_CONTENT;
mWindowParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
| WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
| WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
| WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
mWindowParams.format = PixelFormat.TRANSLUCENT;
mWindowParams.windowAnimations = 0;
ImageView v = new ImageView(mContext);
int backGroundColor = mContext.getResources().getColor(R.color.bg_background);
v.setBackgroundColor(backGroundColor);
v.setImageBitmap(bm);
mWindowManager = (WindowManager)mContext.getSystemService("window");
mWindowManager.addView(v, mWindowParams);
我将 windowlayout 参数的 x 坐标指定为 0。事件然后当显示视图时,它不是从片段的左侧(右窗格)显示,而是从右窗格的中间显示,并且是跨越到右窗格。我做错了什么?必须做些什么来纠正这个问题?
【问题讨论】:
标签: android view drag-and-drop