我有一个自定义视图,在它被移动后被剪切到其原始边界。在4.4.4 KitKat设备上,视图在其边界之外绘制得很好,但在4.1.2设备上,它会被剪裁。我尝试使用android:clipChildren但没有成功。有什么想法吗?
下面的代码和布局:
@Override
public boolean onTouchEvent(MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN){
mIsDown = true;
return true;
}
if(mIsDown && event.getAction() == MotionEvent.ACTION_MOVE){
PointF pointF = new PointF(event.getRawX(), event.getRawY());
setX(pointF.x - getWidth() / 2);
setY(pointF.y - getHeight() / 2);
return true;
}
if(event.getAction() == MotionEvent.ACTION_UP){
mIsDown = false;
return true;
}
return super.onTouchEvent(event);
}
布局:
<FrameLayout
android:clipChildren="false"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_toLeftOf="@+id/control_panel">
<FrameLayout
android:id="@+id/preview_holder"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
<com.example.CustomView
android:id="@+id/target_view"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_gravity="center"
android:background="@null"
/>
</FrameLayout>