Glaeja的名言ウィジェット

|

リクエストをいただきました。
Glaejaで名言ウィジェット。Glaejaスキンサンプル12個という記事で四次元殺法コンビの名言ウィジェットを作りましたが、この時のGlaejaは(たぶん)まだマルチラインテキストが実装されていませんでした。今はあるので、もうちょっと簡単に作ってみました。

まずは表示したい名言を1行に1つずつ記述したtxtファイルを用意します。文字コードがUTF-8以外だと文字化けするかもしれません。今回はsnp2.txtというファイルを用意して、それをcom.gmail.kanitawa.glaeja/imagesフォルダの中に入れます。今回のtxtファイルの中身は以下のようになっています。
[plain]
YOU PLAY WITH THE CARDS YOU’RE DEALT..WHATEVER THAT MEANSn(配られたカードで勝負するっきゃないのさ…それがどういう意味であれ)
KEEP LOOKING UP…THAT’S THE SECRET OF LIFE…n(上を見続ける…それが生きるコツさ…)
YOU CAN’T BELIEVE EVERYTHING YOU HEAR, YOU KNOW…n(話だけじゃあてにならないよ、そうだろ…)
IF A BOY NEVER SENDS A GIRL FLOWERS, HE ROBS HIMSELF OF ONE OF THE GREAT JOYS OF LIFEn(女の子に花束を贈らなかったら人生の大きな喜びを自分から奪ってることになるのよ)
[/plain]
サンプルなので4つしかありません。

Glaejaのスキン設定は簡単です。レイヤーは1枚しか使いません。マルチラインテキストを使います。
表示文字列は以下のようにします。
[plain]
4@p@rand@x@.0@P@@p@snp2@0/-1/f@@0/-1/b@
[/plain]
まず最初の「4@p@rand@x@.0@P@」の部分は0-3の数字をランダムに1つ表示する、ということです。
そして次の「@p@snp2@0/-1/f@」ではsnp2.txtというファイルの中の@p@の前の数字(つまり先程ランダムに取り出した数字)行目のテキストを読み出す(一番上が0行目)、ということを行います。
最後の@0/-1/b@ではそうして表示させたテキストの中のnを改行として扱ったりしてくれます。(詳しくは公式のちゃんとした解説を読んでください。)

…という3つの前方文字置換エスケープキャラクタを組み合わせて使用しています。
名言の種類を増やしたい時はテキストファイルを編集して増やしてください。そして4@p@rand@x@.0@P@の最初の数字を行数-1の数字に変えてください。(-1するのはGlaejaは一番上の行を0行目と数えるため。)

改行について

マルチラインテキストはnで指定した箇所もしくは指定した幅のどちらかで改行することができます。(その両方を同時に行うために「行を折り返す」にチェックをいれつつ@0/-1/b@をつけています)が禁則処理などはしないので、上の画像でもWHATEVERが単語の途中で改行されてしまっています。これをどうにかするには…どうすればいいんでしょうね?
実際にウィジェットを置いてみて、フォントや大きさを決めた後に改行したいところにnを入れていくしかないかもしれません。

なお、もしそうやって全ての改行位置を自分でコントロールする場合は先程の表示文字列の最後@0/-1/b@は必要ありません。そのかわりマルチラインテキストの設定の「行を折り返す」のチェックを外してください。これでテキスト内のnが改行に変換されます。

上記サンプルでは英語部分と日本語部分の間で改行したかったのでnと@0/-1/b@を入れてありますが、改行の必要がなければやはり@0/-1/b@は必要無いので、「4@p@rand@x@.0@P@@p@snp2@0/-1/f@」で大丈夫です。

サンプルスキンファイル

今回のスキンサンプルを以下に置いています。カスタマイズしやすいように素っ気なく作っています。フォントを変えるなり、自分のホームに合わせてご利用ください。
http://ux.getuploader.com/orefolder/download/71/snp.zip

Random Posts

格安SIM (MVNO) 速度比較 : 2016年11月その2 LINEモバイルが止まらない!速い、速すぎるよ!
フレームアームズガール バーゼラルド【ホーム画面企画2016】
第6回ホーム画面カスタマイズ定期コンテスト 投票結果発表! 1位は「snow_mt」
ちょい便利!HTC U11のSQUEEZE機能で端末を「握って」写真撮影! #HTCグローバルレポーター
Sittella for Twitter:特定の人の最新ツイートを1件だけ表示するウィジェット
KLWPで日本語入力するための5つの方法-アプリ内でも意外なところで日本語入力は可能
Call Log Widget:電話の発着信履歴をリスト表示するウィジェット
Teclast P10 レビュー:10.1インチでゴロゴロ動画視聴にちょどいい約15000円のAndroidタブレット
ZenFone 3で撮った写真:基本的にオートでも充分にきれいな写真は撮れる
ZenFone 3のディスプレイ保護シート探索の旅 その2:WANLOK ガラスフィルムを試す
「遠隔初期化が未設定です」の通知を消す方法(格安SIM/MVNO利用でも大丈夫)
タイルアイコンメーカー:Windows Phoneのようなタイル型アイコンを作るウィジェット
ZenFone 5 (ZE620KL) レビュー:大きさと持ちやすさは気になるが、十分満足できる新しいZenFone
端末代が込みになった格安SIMのプランまとめ 実質価格によりMNOと似た販売方式に
Huawei P9を先行アップデートでEMUI5.0/Android7.0にして約1ヶ月使用して