写程序中可能需要用到一些自定义的view控件,这样就需要增加一些自定义的属性。
比如说我要做个股票报价的TextView,涨是红色,跌是绿色
1。先在values目录下创建styles.xml
<resources>
<style name=" Widget. MyTextView" parent="android:Widget" >
<item name="positiveColor" >#FFFF0000</item>
<item name="negetiveColor" >#FF00FF00</item>
</style>
</resources>
2。上面的步骤完成后,在values目录下创建一个attrs.xml文件,告诉程序你自定义的item是什么类型的
<resources>
<declare-styleable name=" MyTextView" >
<attr name=" positiveColor " format="color" />
<attr name=" negetiveColor " format=" color " />
</declare-styleable>
</resources>
3。在layout设计中引用自定义view并加入style
<com.pan.MyTextView
style="@style/ Widget. MyTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
4。activity中读取
int positiveColor;
int negetiveColor;
public MyTextView(Context context, AttributeSet attrs, int defStyle)
{
super (context, attrs, defStyle);
TypedArray a = context.obtainStyledAttributes( attrs, R.styleable.TestView, defStyle, 0 );
int n = a.getIndexCount();
for (int i = 0 ; i < n; i++)
{
int attr = a.getIndex(i);
switch (attr)
{
case R.styleable.MyTextView_positiveColor:
positiveColor = a.getColor(attr, Color.RED);
break ;
case R.styleable.MyTextView_negetiveColor:
negetiveColor = a.getColor(attr, Color.Green);
break ;
}
}
}