হ্যাঁ. সংক্ষিপ্ত গাইড:
1. একটি বৈশিষ্ট্য এক্সএমএল তৈরি করুন
/res/values/attrs.xml
বৈশিষ্ট্য এবং এটির টাইপ সহ ভিতরে একটি নতুন এক্সএমএল ফাইল তৈরি করুন
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<declare-styleable name="MyCustomElement">
<attr name="distanceExample" format="dimension"/>
</declare-styleable>
</resources>
মূলত আপনাকে <declare-styleable />
আপনার দর্শনের জন্য একটি সেট আপ করতে হবে যাতে আপনার সমস্ত কাস্টম বৈশিষ্ট্য রয়েছে (এখানে কেবলমাত্র একটি)। আমি কখনই সম্ভাব্য ধরণের সম্পূর্ণ তালিকা পাই নি, সুতরাং আমার অনুমান অনুসারে আপনার উত্সটি দেখার প্রয়োজন। যে প্রকারগুলি আমি জানি সেগুলি হ'ল রেফারেন্স (অন্য সংস্থানটিতে), রঙ, বুলিয়ান, মাত্রা, ভাসা, পূর্ণসংখ্যা এবং স্ট্রিং । তারা বেশ স্ব ব্যাখ্যাযোগ্য
২. আপনার বিন্যাসে বৈশিষ্ট্যগুলি ব্যবহার করুন
এটি একটি ব্যতিক্রম ব্যতীত উপরের মতো একইভাবে কাজ করে। আপনার কাস্টম বৈশিষ্ট্যের জন্য এটির নিজস্ব এক্সএমএল নেমস্পেস দরকার।
<com.example.yourpackage.MyCustomElement
xmlns:customNS="http://schemas.android.com/apk/res/com.example.yourpackage"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Element..."
customNS:distanceExample="12dp"
/>
অনেকটাই অকপট.
৩. আপনি যে মানগুলি পাশ করেছেন তা ব্যবহার করুন
মানগুলিকে পার্স করতে আপনার কাস্টম ভিউয়ের কনস্ট্রাক্টরকে সংশোধন করুন।
public MyCustomElement(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.MyCustomElement, 0, 0);
try {
distanceExample = ta.getDimension(R.styleable.MyCustomElement_distanceExample, 100.0f);
} finally {
ta.recycle();
}
// ...
}
distanceExample
এই উদাহরণে একটি ব্যক্তিগত সদস্য পরিবর্তনশীল। TypedArray
অন্যান্য ধরণের মানকে পার্স করার জন্য অন্যান্য জিনিসগুলি পেয়েছে।
এবং এটাই. View
এটি পরিবর্তন করতে আপনার পার্সড মানটি ব্যবহার করুন , উদাহরণস্বরূপ onDraw()
চেহারাটি পরিবর্তন করতে এটি ব্যবহার করুন ।