टेक्स्ट के साथ काम करना

डिजिटल घड़ियों के लिए, जहां भी हो सके वहां DigitalClock का इस्तेमाल करें. DigitalClock का इस्तेमाल करके दिखाए जा सकने वाले सभी टेक्स्ट या घड़ियों के लिए, टेक्स्ट-आधारित रेंडरिंग के लिए PartText कंटेनर होता है.

आपको सर्कुलर या रेगुलर टेक्स्ट दिखाना है या नहीं, इसके आधार पर PartText में या तो Text या TextCircular एलिमेंट होना चाहिए.

फ़ॉन्ट और बिटमैप फ़ॉन्ट के साथ काम करना

कस्टम फ़ॉन्ट का इस्तेमाल करके, अपनी स्मार्टवॉच की होम स्क्रीन को अपनी पसंद के मुताबिक बनाया जा सकता है.

कस्टम फ़ॉन्ट इस्तेमाल करने के दो तरीके हैं. ये दोनों तरीके, TimeText और PartText कंटेनर में इस्तेमाल किए जा सकते हैं.

  1. Font एलिमेंट में, कस्टम फ़ॉन्ट family की जानकारी दें. आम तौर पर इस्तेमाल होने वाले कई फ़ॉर्मैट इस्तेमाल किए जा सकते हैं. इन्हें res/font में डालना होगा

    उदाहरण के लिए, Google Fonts से Pacifico फ़ॉन्ट का इस्तेमाल करना और एसेट को res/font/pacifico.ttf के तौर पर डालना:

    <PartText x="0" y="100" width="450" height="250">
      <Text align="CENTER">
        <Font family="pacifico" size="96">Hello!</Font>
      </Text>
    </PartText>
    
  2. इसके अलावा, BitmapFont में बिटमैप इमेज की जानकारी देने वाला res/drawable तय करें:

    <WatchFace width="450" height="450" clipShape="CIRCLE">
    <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>
    <!-- ... -->
    

ध्यान दें कि वर्णों के क्रम को खास तरीके से कैसे दिखाया जा सकता है. उदाहरण के लिए, अगर "12" को 1 और 2 को जोड़कर दिखाना है, तो Word एलिमेंट का इस्तेमाल करके ऐसा किया जा सकता है.

तय किए गए फ़ॉन्ट का इस्तेमाल करने के लिए:

<TimeText ... format="hh:mm">
  <BitmapFont family="myhandwriting" size="48" color="#ff0000" />
</TimeText>

टेक्स्ट इफ़ेक्ट

Watch Face Format में कई टेक्स्ट इफ़ेक्ट उपलब्ध होते हैं. जैसे, OutGlow और Shadow. इनका इस्तेमाल करने के लिए, इन्हें Font एलिमेंट के सब-एलिमेंट के तौर पर लागू करें:

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

टेंप्लेट का इस्तेमाल करना

स्टैटिक टेक्स्ट के बजाय, आपको डेटा सोर्स या एक्सप्रेशन से अपना टेक्स्ट बनाना पड़ सकता है.

Template एलिमेंट की मदद से, ये काम किए जा सकते हैं:

<PartText x="100" y="150" width="300" height="120" >
  <Text align="CENTER">
    <Font family="pacifico" size="60" weight="BOLD" color="#ffffff">
      <Template>Day: %s<Parameter expression="[DAY_OF_WEEK_S]" /></Template>
    </Font>
  </Text>
</PartText>

संसाधनों के साथ काम करना

अगर आपका स्टैटिक टेक्स्ट किसी संसाधन में तय किया गया है, जैसे कि res/values/strings.xml में, तो इसका रेफ़रंस इस तरह दिया जा सकता है:

<PartText x="100" y="150" width="300" height="120" >
  <Text align="CENTER">
    <!-- greeting defined in res/values/strings.xml -->
    <Font family="pacifico" size="60" weight="BOLD" color="#ffffff">greeting</Font>
  </Text>
</PartText>

इसकी मदद से, अलग-अलग रिसॉर्स के लिए इस्तेमाल होने वाले क्वालिफ़ायर का इस्तेमाल करके, स्मार्टवॉच की होम स्क्रीन को स्थानीय भाषा में दिखाया जा सकता है.

हैंडल के बीच की दूरी

स्पेस और टेक्स्ट के साथ काम करने में कुछ समस्याएं आ सकती हैं:

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

<!-- Does not render in the right place because of whitespace -->
<Font family="pacifico" size="60" weight="BOLD" color="#ffffff">
    greeting
</Font>

ऐसा इसलिए है, क्योंकि एक्सएमएल में स्पेसिंग का फ़र्क़ पड़ता है. इस स्थिति से बचने के लिए, अपने Font कॉन्टेंट को CDATA एलिमेंट में रैप करें:

<!-- Works correctly -->
<Font family="pacifico" size="60" weight="BOLD" color="#ffffff">
  <![CDATA[greeting]]>
</Font>

टेक्स्ट को बीच में अलाइन करने का एक और उदाहरण यहां दिया गया है:

<!-- Does not render as expected - leading spaces are a problem -->
<PartText x="100" y="150" width="250" height="120" >
  <Text align="CENTER">
    <Font family="pacifico" size="60" weight="BOLD" color="#ffffff">
       Hello
    </Font>
  </Text>
</PartText>
<!-- Works correctly -->
<PartText x="100" y="150" width="250" height="120" >
    <Text align="CENTER">
    <Font family="pacifico" size="60" weight="BOLD" color="#ffffff">
        <![CDATA[Hello]]>
    </Font>
    </Text>
</PartText>

कई लाइन वाला टेक्स्ट

एक से ज़्यादा लाइन वाला टेक्स्ट बनाने के लिए, Text पर maxLines एट्रिब्यूट का इस्तेमाल करें:

<PartText x="75" y="100" width="300" height="350" >
  <Text align="CENTER" maxLines="2">
    <Font family="pacifico" size="60" weight="BOLD" color="#ffffff">
      <![CDATA[Hello Wear OS world]]>
    </Font>
  </Text>
</PartText>