0
RECTの親ビューを変更しないと私はために軸アンドロイドのclipRectは、私は子ビューを持た
canvas.drawCircle(0, 0, 50f, paint);
のマイナス側に「ピクセル」を持って、円を描くキャンバスをしたいです私はclipRectを使用してこれを行うには、これはうまく動作し、私は完全なcirlceを参照してください。私は親ビューにrequestLayoutを使用すると、子ビュー のX、Yのpostionを変更した場合しかし、円のマイナスSIDSがここ
をどうするかを私に助言してください 示されていない はコードです:
package natan.android.TestCanvas;
import android.app.Activity;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.RelativeLayout.LayoutParams;
public class TestCanvasActivity extends Activity {
View childView;
RelativeLayout parentView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
childView = new View(this)
{
@Override
protected void onDraw(Canvas canvas) {
canvas.clipRect(-50, -50, 50, 50,android.graphics.Region.Op.REPLACE);
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.RED);
canvas.drawCircle(0, 0, 50f, paint);
super.onDraw(canvas);
}
};
parentView = new RelativeLayout(this);
parentView.addView(childView);
LayoutParams layoutParms = (LayoutParams)(childView.getLayoutParams());
layoutParms.leftMargin=150;
layoutParms.topMargin=150;
setContentView(parentView);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
LayoutParams layoutParms = (LayoutParams)(childView.getLayoutParams());
layoutParms.leftMargin=100;
layoutParms.topMargin=100;
parentView.requestLayout();
return super.onTouchEvent(event);
}
}
私は私がここに
タラのこのラインを使用して
http://www.devdaily.com/java/jwarehouse/android/core/java/android/view/ViewGroup.java.shtml
からそれを取ったsoulation を考え出したと思う