Chúng tôi thấy rằng thành phần mở rộng có thể tận dụng tất cả các thuộc tính mặc định của lớp cha của nó. Nhưng hãy xem xét một tình huống khi bạn muốn tạo ra thuộc tính của riêng bạn từ đầu. Dưới đây là một thủ tục đơn giản để tạo và sử dụng các thuộc tính mới cho các thành phần Android Custom. Hãy xem, chúng tôi muốn giới thiệu với ba thuộc tính và sẽ sử dụng chúng như hình dưới đây khi lập trình android: Code: <com.example.dateviewdemo.DateView android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="#fff" android:textSize="40sp" custom:delimiter="-" custom:fancyText="true" /> Bước 1 Bước đầu tiên để cho phép chúng tôi sử dụng tùy chỉnh của chúng tôi là các thuộc tính xác định chúng trong một file xml mới underres/values/ và gọi nó attrs.xml. Hãy có một cái nhìn vào một ví dụ tập attrs.xml hoc lap trinh android Code: <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="DateView"> <attr name="delimiter" format="string"/> <attr name="fancyText" format="boolean"/> </declare-styleable> </resources> Ở đây name=value là những gì chúng ta muốn sử dụng trong tập tin XML Layout của chúng tôi như là thuộc tính, và các formatpe là kiểu của thuộc tính. Bước 2 Bước thứ hai của bạn sẽ được đọc những thuộc tính từ tập tin XML Layout và đặt chúng cho các thành phần. Logic này sẽ đi vào các nhà thầu mà có được thông qua một AttributeSet, vì đó là những gì chứa các thuộc tính XML. Để đọc các giá trị trong XML, bạn cần tạo một TypedArray từ AttributeSet, sau đó sử dụng để đọc và thiết lập các giá trị như trong các mã ví dụ dưới đây: Code: TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.DateView); final int N = a.getIndexCount(); for (int i = 0; i < N; ++i) { int attr = a.getIndex(i); switch (attr) { case R.styleable.DateView_delimiter: String delimiter = a.getString(attr); //...do something with delimiter... break; case R.styleable.DateView_fancyText: boolean fancyText = a.getBoolean(attr, false); //...do something with fancyText... break; } } a.recycle(); Bước 3 Cuối cùng, bạn có thể sử dụng các thuộc tính xác định của bạn trong tập tin Layout XML của bạn như sau: Code: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:custom="http://schemas.android.com/apk/res/com.example.dateviewdemo" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <com.example.dateviewdemo.DateView android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="#fff" android:textSize="40sp" custom:delimiter="-" custom:fancyText="true" /> </RelativeLayout> ----------------------------- || ----------------------------- Trung tâm Đào tạo hoc photoshop co ban nâng cao tại Vietpro!