手把手教你實現(xiàn)Android自定義動畫

1.寫一個自定義控件類,這個類就是你的自定義控件的實現(xiàn).

2.在res/values目錄下建立一個attrs.xml的文件,在這個文件中增加對控件的自定義屬性的定義.

3.使用帶AttributeSet參數(shù)的類的構(gòu)造函數(shù),并在構(gòu)造函數(shù)中將自定義控件類中變量與attrs.xml中的屬性連接起來.

4.在自定義控件類中使用這些已經(jīng)連接的屬性變量.

5.將自定義的控件類定義到布局用的xml文件中去.

6.在界面中生成此自定義控件類對象,就完成了自定義控件的創(chuàng)建和使用了.

二、帶你用代碼寫出來。

1、新建一個類public class Item extends LinearLayout {

private Context mContext;

public CrashWriteItem(Context context, AttributeSet attrs) {

super(context, attrs);

mContext = context;

init(attrs);

}

private void init(AttributeSet attrs) {

// TODO Auto-generated method stub

LayoutInflater inflater = (LayoutInflater) mContext

.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

TypedArray a = getContext().obtainStyledAttributes(attrs,

R.styleable.view_item);

//生成一個文件布局,也可以不用這種方式,直接new也行

View layout = inflater.inflate(R.layout.view_item, null);

// 設(shè)置 左邊文字大小 這是我摘自我自己項目里的??只是說明下怎么使用attrs.xml中的屬性

int leftTextSize = a.getInt(

R.styleable.view_item_setLeftTextSize, 14);

setLeftTextSize(leftTextSize);

a.recycle();

this.addView(layout);

}

}

2、.在res/values目錄下建立一個attrs.xml的文件,在這個文件中增加對控件的自定義屬性的定義.

關(guān)于format的解釋:

"reference" //引用

"color" //顏色

"boolean" //布爾值

"dimension" //尺寸值

"float" //浮點值

"integer" //整型值

"string" //字符串

"fraction" //百分數(shù),比如200%

3、在代碼里引用的時候格式是R.styleable.view_item_setLeftTextSize。

4、在自己的布局里根據(jù)自己的需求完善好代碼之后??就是應(yīng)用了。應(yīng)用在xml布局里的方式如下:

在應(yīng)用的xml文件的頭部加上聲明: xmlns:app="http://schemas.android.com/apk/res-auto"

這里的app這個是可以替換成任何你想起的名字,在下邊引用的時候?qū)?yīng)起來即可。否則查找不到資源。

<包名.Item

.............

app:setLeftTextSize="14"

/>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容