টেক্সট নিয়ে কাজ করা

ডিজিটাল ঘড়ির ক্ষেত্রে, যেখানে সম্ভব সেখানে DigitalClock ব্যবহার করার চেষ্টা করুন। DigitalClock ব্যবহার করে দেখানো যায় না এমন অন্যান্য টেক্সট বা ঘড়ির জন্য, PartText হল টেক্সট-ভিত্তিক রেন্ডারিংয়ের কন্টেনার।

আপনি বৃত্তাকার বা সাধারণ টেক্সট দেখাতে চান কিনা তার উপর নির্ভর করে, PartText -এ হয় Text বা TextCircular এলিমেন্ট থাকতে হবে।

ফন্ট ও বিটম্যাপ ফন্ট নিয়ে কাজ করা

কাস্টম ফন্ট ব্যবহার করলে, আপনার ওয়াচফেস নিজস্ব স্টাইলে আলাদাভাবে ফুটে উঠবে।

TimeText এবং PartText কন্টেনারের মধ্যে কাস্টম ফন্ট ব্যবহার করার দুটি উপায় রয়েছে।

  1. Font এলিমেন্টে কাস্টম ফন্ট family নির্দিষ্ট করুন। সাধারণ ফর্ম্যাটের একটি রেঞ্জ কাজ করে এবং সেগুলি res/font-এ থাকতে হবে

    যেমন, Google Fonts থেকে Pacifico ফন্ট ব্যবহার করা এবং অ্যাসেটকে res/font/pacifico.ttf হিসেবে রাখা:

    <PartText x="0" y="50" width="450" height="250">
        <Text align="CENTER">
            <Font family="pacifico" size="96">Hello!</Font>
        </Text>
    </PartText>

  2. বিকল্প হিসেবে, BitmapFont বিটম্যাপ ছবি প্রদান করে res/drawable:

    <BitmapFonts>
        <BitmapFont name="myhandwriting">
            <Character name="1" resource="digit1" width="50" height="100" />
            <Character name="2" resource="digit2" width="50" height="100" />
            <Character name="3" resource="digit3" width="50" height="100" />
            <Character name="4" resource="digit4" width="50" height="100" />
            <!-- ... -->
            <!-- Treat "12" specially, instead of a 1 followed by a 2-->
            <Word name="12" resource="digit12" width="80" height="100" />
        </BitmapFont>
    </BitmapFonts>

লক্ষ্য করুন, কীভাবে অক্ষরের ক্রমকে বিশেষ ট্রিটমেন্ট দেওয়া যায়। যেমন, "১২" সংখ্যাটিকে যদি ১ ও ২ সংখ্যা দুটিকে একসাথে জুড়ে দেখানো হয়, তাহলে এটি Word এলিমেন্ট ব্যবহার করে করা যেতে পারে।

নির্ধারিত ফন্ট ব্যবহার করতে:

<DigitalClock x="125" y="120" width="200" height="50">
    <TimeText x="0" y="0" width="200" height="50" format="hh:mm">
        <BitmapFont family="myhandwriting" size="48" color="#FF00FF"/>
    </TimeText>
</DigitalClock>

টেক্সট এফেক্ট

Watch Face Format বিভিন্ন টেক্সট এফেক্ট প্রদান করে যা প্রয়োগ করা যেতে পারে, যেমন OutGlow এবং Shadow. এগুলি ব্যবহার করতে, এগুলিকে Font এলিমেন্টের সাব-এলিমেন্ট হিসেবে প্রয়োগ করুন:

<Font family="pacifico" size="96" color="#e2a0ff">
    <OutGlow color="#e8ffb7" radius="30">Hello!</OutGlow>
</Font>

টেমপ্লেট নিয়ে কাজ করা

স্ট্যাটিক টেক্সটের পরিবর্তে, আপনাকে ডেটা সোর্স বা এক্সপ্রেশন থেকে টেক্সট তৈরি করতে হতে পারে।

Template এলিমেন্ট আপনাকে এটি করতে দেয়:

<Font family="pacifico" size="60" weight="BOLD" color="#ffffff">
    <Template>Day: %s<Parameter expression="[DAY_OF_WEEK_S]" /></Template>
</Font>

রিসোর্স নিয়ে কাজ করা

আপনার স্ট্যাটিক টেক্সট যদি res/values/strings.xml-এর মতো কোনও রিসোর্সে সংজ্ঞায়িত করা থাকে, তাহলে এটিকে এইভাবে রেফার করা যেতে পারে:

<!-- greeting defined in res/values/strings.xml -->
<Font family="pacifico" size="60" weight="BOLD" color="#ffffff">greeting</Font>

এছাড়াও, এটি আপনাকে বিভিন্ন রিসোর্স কোয়ালিফায়ার ব্যবহার করে আপনার ওয়াচফেস লোকালাইজ করতে দেয়।

হ্যান্ডেলের মধ্যে ব্যবধান

XML-এ টেক্সট স্পেসিং নিয়ে কাজ করা কঠিন হতে পারে। টেক্সটের চারপাশে অতিরিক্ত স্পেস ফর্ম্যাটিং সংক্রান্ত সমস্যা তৈরি করতে পারে, যেমন ভুল সেন্টারিং অথবা আপনার অ্যাপকে Android স্ট্রিং রিসোর্স খুঁজে পেতে বাধা দিতে পারে।

এইসব পরিস্থিতি এড়াতে, আপনার Font কন্টেন্টকে একটি CDATA এলিমেন্টের মধ্যে রাখুন:

<Font family="pacifico" size="60" weight="BOLD" color="#ffffff">
    <![CDATA[Hello]]>
</Font>

একাধিক লাইনের টেক্সট

একাধিক লাইন সহ টেক্সট তৈরি করতে, Text-এ maxLines অ্যাট্রিবিউট ব্যবহার করুন:

<Text align="CENTER" maxLines="2">
    <Font family="pacifico" size="60" weight="BOLD" color="#ffffff">
        <![CDATA[Hello Wear OS world]]>
    </Font>
</Text>