প্রিয়া সিংহলের উত্তর হিসাবে, অ্যান্ড্রয়েড স্টুডিওর সাধারণ বৈশিষ্ট্যগুলির নামগুলি তাদের নিজস্ব শৈলীর নামের মধ্যে সংজ্ঞায়িত করা প্রয়োজন। তারা আর মূলে থাকতে পারে না।
যাইহোক, লক্ষ্য করার মতো আরও কয়েকটি জিনিস রয়েছে (যার কারণে আমি একটি উত্তরও যোগ করছি):
- সাধারণ শৈলীর ভিউ হিসাবে একই জিনিসটির নামকরণ করার দরকার নেই। ( এটি উল্লেখ করার জন্য এই উত্তরের জন্য ধন্যবাদ ।)
- পিতামাতার সাথে আপনার উত্তরাধিকার ব্যবহার করার দরকার নেই।
উদাহরণ
সাম্প্রতিক প্রকল্পে আমি যা করেছি তা এখানে দুটি কাস্টম ভিউ রয়েছে যা উভয়ই একই বৈশিষ্ট্যগুলি ভাগ করে। যতক্ষণ না কাস্টম ভিউগুলিতে গুণাবলীর নাম রয়েছে এবং format
এগুলিকে অন্তর্ভুক্ত না করা হয় ততক্ষণ আমি কোড থেকে এগুলিকে সাধারণ হিসাবে অ্যাক্সেস করতে পারি।
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- common attributes to all custom text based views -->
<declare-styleable name="TextAttributes">
<attr name="text" format="string"/>
<attr name="textSize" format="dimension"/>
<attr name="textColor" format="color"/>
<attr name="gravity">
<flag name="top" value="48" />
<flag name="center" value="17" />
<flag name="bottom" value="80" />
</attr>
</declare-styleable>
<!-- custom text views -->
<declare-styleable name="View1">
<attr name="text"/>
<attr name="textSize"/>
<attr name="textColor"/>
<attr name="gravity"/>
</declare-styleable>
<declare-styleable name="View2">
<attr name="text"/>
<attr name="textSize"/>
<attr name="textColor"/>
<attr name="gravity"/>
</declare-styleable>
</resources>
প্রবাহিত উদাহরণ
আসলে, আমার এমনকি কাস্টম নামের অধীনে বৈশিষ্ট্যগুলি রাখার প্রয়োজন নেই। format
কমপক্ষে একটি কাস্টম দর্শন হিসাবে যতক্ষণ আমি তাদের সংজ্ঞা দিই (তাদের একটি দিন ), আমি এগুলি যে কোনও জায়গায় (ছাড়া format
) ব্যবহার করতে পারি । সুতরাং এটিও কাজ করে (এবং আরও পরিষ্কার দেখায়):
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="View1">
<attr name="text" format="string"/>
<attr name="textSize" format="dimension"/>
<attr name="textColor" format="color"/>
<attr name="gravity">
<flag name="top" value="48" />
<flag name="center" value="17" />
<flag name="bottom" value="80" />
</attr>
</declare-styleable>
<declare-styleable name="View2">
<attr name="text"/>
<attr name="textSize"/>
<attr name="textColor"/>
<attr name="gravity"/>
</declare-styleable>
</resources>
একটি বৃহত প্রকল্পের জন্য, যদিও এটি অগোছালো হয়ে উঠতে পারে এবং একক লোকেশনে শীর্ষে তাদের সংজ্ঞা দেওয়া আরও ভাল হতে পারে ( এখানে প্রস্তাবিত হিসাবে )।
myattr1
স্ট্রিং ইনMyView1
এবং পূর্ণসংখ্যা হয় তখন কী হয়MyView2
?