チュートリアル

Zooper勉強中:縦書きの日付表示

これまでもいくつかZooper Widgetの基本的なことを勉強してきました。
が、まぁやっぱり、とりあえず作ってみて、○○をやりたい→どうすればできるか?→どんな機能を使えばいいか?と試行錯誤してみるのが結局は理解が早いってもんです。

今度のコミケでも出す「Androidのホーム画面をカスタマイズする本2」では、Glaejaを使って、いろいろなテクニックというか、こういうときはこうすればいいよ的なものを書いたのですが、それと同じようなのをZopperでどうやって実現すればいいか、というのをやってみようと思います。
全部が全部できるわけではないでしょうけど、とりあえずできるか考えてみましょう。

まず今回は「日付を漢字にして縦書き表示」というのをやってみます。

幅を狭めて縦書きにする

131220-1
まず、普通に日付を表示すると、テキストモジュールで

#DM#月#Dd#日

これで12月20日などと表示されます。

これをリッチテキストで入力し、X マージンを大きく取っていくとそのうち1文字や2文字で行が折り返されるようになります。

これで縦書きっぽくなりました。

月の数字を漢数字にする

131220-2
次に月の数字を漢数字にします。

$#DM#=12?十二$

これで12月の時には「十二」と表示されます。その他の月の時はなにも表示されません。なので、これを十二ヶ月分作って

$#DM#=12?十二$$#DM#=11?十一$$#DM#=10?十$$#DM#=9?九$$#DM#=8?八$$#DM#=7?七$$#DM#=6?六$$#DM#=5?五$$#DM#=4?四$$#DM#=3?三$$#DM#=2?二$$#DM#=1?一$月

これで月の部分が漢数字に変換されます。「十二月」じゃなくて「師走」とかにしたければそれでもOKです。「壱」とかにしたければそうしてください。

日の数字を漢数字にする

日の数字を漢数字にするときも同じように31日分でやれば、それでOKです。
…とは言っても31個はさすがに辛いです。もうちょっと考えてみましょう。

十の位と一の位の2つに分けて考えてみましょう。
十の位は0から3の4通り、一の位は0から9の10通りしかありません。31個作るよりは楽そうです。

十の位を取り出して漢数字に

131220-3
では十の位を漢数字にしてみましょう。そのためには十の位だけ取り出さなければなりません。

$(floor(#Dd#/10))$

これで十の位だけを取り出せます。

「#Dd#/10」は日付を10で割っています。26日なら2.6となります。
floor(xxx)はxxxの値を切り捨てで整数化します。
なので、26日の時は$(floor(#Dd#/10))$は2と表示されます。あとは先ほどと同じように漢数字化します。

$(floor(#Dd#/10))=1?十$$(floor(#Dd#/10))=2?二十$$(floor(#Dd#/10))=3?三十$

floor(#Dd#/10)が0の時は何も表示されません。

一の位を取り出して漢数字に

131220-4
次に一の位だけを取り出して、同じように漢数字化します。

$(#Dd#%10)$

%は、その後の数字で割った時の余りを表示します。この場合は日付の数字を10で割った余りとなります。これが日付の一の位になります。

あとは同じように漢数字化してあげればOKです。

$(#Dd#%10)=1?一$$(#Dd#%10)=2?二$$(#Dd#%10)=3?三$$(#Dd#%10)=4?四$$(#Dd#%10)=5?五$$(#Dd#%10)=6?六$$(#Dd#%10)=7?七$$(#Dd#%10)=8?八$$(#Dd#%10)=9?九$日

完成

131220-5
ここまでのをまとめるとこんな感じです。長ぇ…。

$#DM#=12?十二$$#DM#=11?十一$$#DM#=10?十$$#DM#=9?九$$#DM#=8?八$$#DM#=7?七$$#DM#=6?六$$#DM#=5?五$$#DM#=4?四$$#DM#=3?三$$#DM#=2?二$$#DM#=1?一$月$(floor(#Dd#/10))=1?十$$(floor(#Dd#/10))=2?二十$$(floor(#Dd#/10))=3?三十$$(#Dd#%10)=1?一$$(#Dd#%10)=2?二$$(#Dd#%10)=3?三$$(#Dd#%10)=4?四$$(#Dd#%10)=5?五$$(#Dd#%10)=6?六$$(#Dd#%10)=7?七$$(#Dd#%10)=8?八$$(#Dd#%10)=9?九$日

131220-6
余計な改行を取り払い、フォントなど調整すれば完成です。

余談

本当はもっと他の例もたくさん出して1つの記事にするつもりでしたが、縦書きだけでそれなりの量になってしまったので(疲れたので)1つだけで出しちゃいます。
何が疲れるって、日本語入力の部分ですよね…。

Random Posts

goo Simseller、中古スマホのキズや汚れが理由で返品できる「やっぱり見た目が大事キャンペーン」開始
ファーウェイが新製品発表会を9月24日に開催!YouTubeにてライブ配信
goo SimsellerにてMi Note 10販売開始!音声SIMセットで33,200円(税抜)発売記念特価!
Anker公式ストア登録者にAmazon Music Unlimitedが1ヶ月間無料で使えるクーポン配布!新規でもOK
BCNランキング SIMフリースマホ実売台数TOP10 (9/2~9/8) まだまだAQUOS sense2が強い
At A Glanceによく似た見た目のウィジェットをKWGTで作ろう
ファーウェイがHUAWEI STOREのアプリベータ版をテスト開始!スピーカーがもらえるコンテストも開催
moto g8 を購入!なかなかステキな感覚のファーストインプレッション
低価格の「ノイズキャンセリング対応」のフルワイヤレスイヤホン「Coumi ANC-860」試用レビュー:インナーイヤーで耳に優しいイヤホン
ZenFone Max Pro (M2)が22,880円!FREETEL P6が5,800円!FREETEL 年末感謝セール開催!
GaN搭載でクレカの半分サイズ!最大65W出力マルチポート急速充電器 LilNob「CIO-G65W2C1A」発売
世界初!?ホワイトカラーでシンプルな「CHOETECH」製のQi充電機内蔵型スマホアームをレビュー!
mineoが6周年!ロクなものプレゼントキャンぺーンを開催!
48MP AIカメラと画面内指紋センサーを搭載したUMIDIGI Xが間もなくやって来る!保護フィルムから判明
スマホ依存、女性20代の34%がかなり依存してると回答【MMD研究所調査】