android 之WindowManager.LayoutParams
在代码里动态添加布局view文件
private LayoutParams windowParams = null;
private WindowManager windowManager = null;
private void startDrag() {
windowParams = new WindowManager.LayoutParams();
windowParams.gravity = Gravity.TOP | Gravity.LEFT;
windowParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
windowParams.width = WindowManager.LayoutParams.MATCH_PARENT;
windowParams.x = dragItemView.getLeft() + 10;
windowParams.y = dragItemView.getTop() + 100;
windowParams.alpha = 0.8f;
windowParams.flags = WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS | 0x00000010;
windowManager = (WindowManager) MainActivity.this
.getSystemService(Context.WINDOW_SERVICE);
windowManager.addView(dragView, windowParams);
}
触发事件,更新添加的视图
private void drag(int x, int y) {
windowParams.x = x + dragItemView.getLeft() + 10;
windowParams.y = y + dragItemView.getTop() + 100;
windowManager.updateViewLayout(dragView, windowParams);
}
清理添加的视图
private void stopDrag() {
if (dragView != null) {
windowManager.removeView(dragView);
dragView = null;
}
}
posted on 2013-05-30 14:02 yujian_bcq 阅读(523) 评论(0) 编辑 收藏 举报