通过使用typedArray创建自定义的属性
1,首先在values 中创建 attrs 文件,定义个declare-styleable name="myView"
<resources>
<declare-styleable name="myView">
<attr name="textColor" format="color"/>
<attr name="textSize" format="dimension"/>
</declare-styleable>
</resources>
2,在代码中使用 typedArray 获取属性
public TypedCostomView(Context context, AttributeSet attrs) {
super(context, attrs);
mPaint=new Paint();
TypedArray array=context.obtainStyledAttributes(attrs,R.styleable.myView);
int textColor=array.getColor(R.styleable.myView_textColor, 0xFF00FF00);
float textSize=array.getDimension(R.styleable.myView_textSize, 20f);
array.recycle();
mPaint.setColor(textColor);
mPaint.setTextSize(textSize);
}
3,在布局文件中使用自定义的控件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:intbird="http://schemas.android.com/apk/res/com.intbird.soft.unity"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.intbird.costomview.MyView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
intbird:textColor="#445566"
intbird:textSize="80sp"
android:text="@string/hello_world" />
</RelativeLayout>