移动时剪切自定义视图

时间:2014-07-07 21:28:46

标签: android views android-custom-view

我有一个自定义视图,在它被移动后被剪切到其原始边界。在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>

0 个答案:

没有答案