1.在res/values文件夹里创建attr.xml文件
attr.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="mybutton">
<attr name="myText" format="string" />
<attr name="myTextColor" format="color" />
<attr name="myTextSize" format="dimension" />
</declare-styleable>
</resources>
2.在style.xml里添加此项:
<style name="mystyle">
<item name="com.example.main:myTextSize">6sp</item>
</style>
3.在使用自定义view的xml文件里添加此项:
xmlns:mybutton="http://schemas.android.com/apk/res-auto"
<com.example.main.mybutton
style="@style/mystyle"
mybutton:myText="adsf"
mybutton:myTextColor="#FF0000"/>
4.修改控件的构造函数:
public MyButton(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray a = context.getTheme().obtainStyledAttributes(attrs,R.styleable.mybutton, 0, 0);
String mText = a.getString(R.styleable.mybutton_myText);
int mTextColor = a.getColor(R.styleable.mybutton_myTextColor, R.color.red);
float mTextSize = a.getDimension(R.styleable.mybutton_myTextSize, 30f);
txt.setText(mText);
txt.setTextColor(mTextColor);
txt.setTextSize(mTextSize);
}