Android 自定义属性写法

来源:互联网 发布:淘宝领的话费券在哪 编辑:程序博客网 时间:2024/06/07 15:49

1、在自定义view里解析

TypedArray ta = context.obtainStyledAttributes(attrs,              R.styleable.ColorTrackView);  mText = ta.getString(R.styleable.ColorTrackView_text);  mTextSize = ta.getDimensionPixelSize(          R.styleable.ColorTrackView_text_size, mTextSize);  mTextOriginColor = ta.getColor(          R.styleable.ColorTrackView_text_origin_color,          mTextOriginColor);  mTextChangeColor = ta.getColor(          R.styleable.ColorTrackView_text_change_color,          mTextChangeColor);  mProgress = ta.getFloat(R.styleable.ColorTrackView_progress, 0);  mDirection = ta.getInt(R.styleable.ColorTrackView_direction, mDirection);  ta.recycle();  

2、在attr文件里创建属性:

<?xml version="1.0" encoding="utf-8"?>  <resources>      <attr name="text" format="string" />      <attr name="text_size" format="dimension" />      <attr name="text_origin_color" format="color|reference" />      <attr name="text_change_color" format="color|reference" />      <attr name="progress" format="float" />      <attr name="direction">          <enum name="left" value="0" />          <enum name="right" value="1" />      </attr>      <declare-styleable name="ColorTrackView">          <attr name="text" />          <attr name="text_size" />          <attr name="text_origin_color" />          <attr name="text_change_color" />          <attr name="progress" />          <attr name="direction" />      </declare-styleable>  </resources>  

3、使用:在布局文件里添加
xmlns:koo=”http://schemas.android.com/apk/res/com.android.koomama”
com.android.koomama 为项目的包名称

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:koo="http://schemas.android.com/apk/res/com.android.koomama"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" ><SacleView   koo:text="test"   koo:text_size="12sp"   koo:text_origin_color="#333"   koo:text_change_color="#23ef22"   koo:progress="20"   />
0 0