1 旋转文字的TextView
package com.example.view_textview;
public class MyTextView extends TextView {
private int degree;
public MyTextView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
TypedArray array = context.obtainStyledAttributes(attrs,R.styleable.MyView);
int degree = array.getColor(R.styleable.MyView_degree, 0); // 提供默认值,放置未指定
this.degree = degree;
array.recycle(); // 一定要调用,否则这次的设定会对下次的使用造成影响
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
canvas.rotate(degree, getMeasuredWidth() / 2, getMeasuredHeight() / 2);
super.onDraw(canvas);
}
}
<declare-styleable name="MyView">
<attr name="degree" format="integer" />
</declare-styleable>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:my="http://schemas.android.com/apk/res/com.example.view_textview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".MainActivity" >
<com.example.view_textview.MyTextView
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerInParent="true"
android:text="@string/hello_world"
android:textColor="#FF0000"
my:degree="-80" />
</RelativeLayout>