public class RotatingRect extends View {
public RotatingRect(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initProperties();
}
public RotatingRect(Context context, AttributeSet attrs) {
super(context, attrs);
initProperties();
}
public RotatingRect(Context context) {
super(context);
initProperties();
}
private void initProperties(){
p = new Paint();
p.setColor(Color.RED);
}
@Override
public void draw(Canvas canvas) {
super.draw(canvas);
canvas.save();
// canvas.rotate(degrees);
canvas.translate(200, 200);
canvas.rotate(degrees, 50, 50);
canvas.drawRect(0, 0, 100, 100, p);
degrees ++;
canvas.restore();
invalidate();
}
private Paint p;
private float degrees = 0;
public RotatingRect(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initProperties();
}
public RotatingRect(Context context, AttributeSet attrs) {
super(context, attrs);
initProperties();
}
public RotatingRect(Context context) {
super(context);
initProperties();
}
private void initProperties(){
p = new Paint();
p.setColor(Color.RED);
}
@Override
public void draw(Canvas canvas) {
super.draw(canvas);
canvas.save();
// canvas.rotate(degrees);
canvas.translate(200, 200);
canvas.rotate(degrees, 50, 50);
canvas.drawRect(0, 0, 100, 100, p);
degrees ++;
canvas.restore();
invalidate();
}
private Paint p;
private float degrees = 0;
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">
<com.jikexueyuan.drawapi.RotatingRect
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</RelativeLayout>