【发布时间】:2016-07-26 22:57:57
【问题描述】:
我创建了这个自定义视图来在应用顶部添加一个图层
视图中有一个可拖动的圆圈
public class LockView extends View {
public LockView(Context context) {
super(context);
setClickable(true);
setBackgroundColor(0x55ff0000);
setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
((ViewGroup) getParent()).removeView(LockView.this);
}
});
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
ShapeDrawable circle=new ShapeDrawable(new OvalShape());
circle.setBounds(10,10,100,100);
circle.getPaint().setARGB(0xff,0,0xff,0);
circle.draw(canvas);
}
}
用法:
LockView lockView = new LockView(this);
WindowManager.LayoutParams baseParams = new WindowManager.LayoutParams(
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
addContentView(lockView, baseParams);
问题是:
如何使圆圈可拖动?我找不到任何将监听器设置为圆形的方法。
如何将圆对齐到右下角?
【问题讨论】:
标签: android drag-and-drop android-view draggable android-custom-view