OREFOLDER

試作:Glaejaでタブ表示

GlaejaのVer2.40で透明ボタンのクリック時の動作に「ウィジェット変数に値を代入」というものが加わりました。これを使ってタブ表示のようなものを作ってみました。

これの動作をわかりやすく(?)動画にしてみました。

隣の画面にスクロールしているので、別画面に飛んで擬似タブにしているのではないのがわかると思います。

  • 本記事は広告およびアフィリエイトプログラムによる収益を得ています。

解説


赤枠のところにそれぞれ透明ボタンが置かれています。それぞれタップするとwcv1というウィジェット変数に値(左から0,1,2)を代入するという動作をします。

次に、テキストレイヤーにて表示文字列を
wcv1@0/-1/q@$yyyy年MM月dd日HH時mm分$,%T%,battery:#P#@0/-1/m@
としました。

これはまず「wcv1@0/-1/q@」で現在のウィジェット変数wcv1の値をスタックにポップします。これは0,1,2のどれかの値をスタックにポップすることになります。

続いて「$yyyy年MM月dd日HH時mm分$,%T%,battery:#P#@0/-1/m@」の部分です。@0/-1/m@はその前の文字列をカンマ区切りで分け、スタックの最上段の数番目のもの(0から始まる)を表示する、というものです。この場合、現在のwcv1の値がスタック最上段にありますので、0(カレンダ)なら0番目の「$yyyy年MM月dd日HH時mm分$」が、1(天気)なら「%T%」が、2(システム)なら「battery:#P#」がそれぞれ表示されます。

同じ位置、同じテキスト書式ならこれでそれぞれのwcv1の値に合わせた表示ができます。

似たようなイメージで、今度はマッチテキストを使ってテキストを表示させます。まず表示文字列を「wcv1@0/-1/q@.0@P@」とします。これで現在のウィジェット変数wcv1の値が表示されます。あとは対象の文字列→探索文字列で表示したいタブの変数値(0,1,2)を入力し、実際に表示したい文字列を置換文字列」に入力します。(元の文字列は文字の色を透明にして、他のタブの時は見えないようにします。)

先ほどの@0/-1/m@と組み合わせて、表示文字列に「wcv1@0/-1/q@MON THU WED THU FRI SAT SUN,,@0/-1/m@」探索文字列に「$EEE$」とすればウィジェット変数wcv1が0の時だけ「MON THU WED THU FRI SAT SUN」と表示され、実際の曜日のところだけ色を変えるなどできます。

タブのボタン部分で、現在の選択部分が色が変わっているところについては、多角形レイヤーでそういった四角を作り、それを変形と移動レイヤーで移動させています。この時もやはりウィジェット変数の値を利用しています。

こんな感じで表示したい項目に条件をつけていけば、1つのウィジェット内でタブ表示のようなことができます。ただけっこう面倒です。
例によって今回のスキンを以下に置きました。いじってみてください。4×2サイズです。
http://ux.getuploader.com/orefolder/download/99/tab.zip

モバイルバージョンを終了