最初のプログラム
目次
イベント名とグループ
先ほど作ったイベントとあわせて、名前も付けておきましょう。
名前は、付けなくても構いませんが、つけておくと後で設定を見直すときに役立ちます。
イベントをタップで編集状態にして、一番上の「イベント名とグループ」をタップします。
この名前は、自分がイベントを見やすくするためのものです。名前によって動作が変わる、ということはありませんので、自由に付けてください。
イベントを区別するためのものなので、同じ名前を複数のイベントにつけることはできません。
リストでは、イベントは「名前の文字コード順」に並びます。整理したいときは、頭に数字やアルファベットをつけるとわかりやすいです。
グループ名は、つけなくても構いません。しかし、1つでもグループ名がついたイベントがあると、グループごとにイベントがまとめられ、見やすく整理されます。
グループ名は、イベント名と違って複数のイベントに同じものを付けられます。だって、この名前でまとめるんですから。
ここでは、グループ名を「画面回転設定」、それぞれのイベント名を「回転開始」「回転終了」とすることにします。
これで完成。
最後に、確認しておきます。
イベント画面では、それぞれの設定がこのように表示されているはずです。
現在アプリがギャラリーなら - 自動回転有効
回転終了
現在アプリがギャラリーでないなら - 自動回転無効
Llama で作ったイベントは、このように「わかりやすい言葉で」表示されます。
基本的に英語の文法で表示するものを、無理やり日本語に当てはめただけなので、無理がある部分もあります。
もっと便利に
ギャラリーだけでなく、YouTube や QuickPic でも画面の自動回転を設定したい、と思うかもしれません。
設定したいアプリの数だけ、イベントを書いても構いません。…が、この方法は大変です。
こういうときは、条件を少し調整します。「回転開始」を開いて、条件追加します。
条件は「条件どれかが(OR)」を選んでください。
すると、また「条件追加」ボタンのある画面が現れます。しかし、今度は「動作追加」はありません。
「条件追加」で、設定したいアプリを全部並べます。
条件どれかが(OR) >
現在のアプリ >
アプリ:ギャラリー
状態:アプリ起動、または前面化
現在のアプリ >
アプリ:YouTube
状態:アプリ起動、または前面化
現在のアプリ >
アプリ:QuickPic
状態:アプリ起動、または前面化
これで「戻る」ボタンを押すと、「回転開始」イベントの設定に戻ります。
コンディションには次のように表示されているはずです。
[現在アプリがギャラリーなら か 現在アプリがYouTubeなら か 現在アプリがQuickPicなら]
[ ] で囲まれている部分は、条件に OR や AND を使った場合の、ひとまとまりを意味しています。
ただ、このままでは、先に指定した「ギャラリーが表示されているとき」の条件が残っています。これは消しておきましょう。
一番下に消去ボタンがあります。まず消去を押してから、現在のアプリでギャラリーを指定している条件をタップしましょう。
OR だけが残っている状態にしてください。
これで、「回転開始」の調整はおしまいです。
次に、「回転終了」を調整します。
今度は、OR は使わず、そのまま条件追加します。
現在のアプリ >
アプリ:YouTube
状態:アプリ終了、またはバックグランド化
現在のアプリ >
アプリ:QuickPic
状態:アプリ終了、またはバックグランド化
先に「ギャラリー」の条件を指定しているのとあわせて、3つです。
特に OR を使わずに並べてあるので、AND として処理されます。
これで調整終了。イベント一覧の画面に戻ると、それぞれのイベントの内容が表示されています。
[現在アプリがギャラリーなら か 現在アプリがYouTubeなら か 現在アプリがQuickPicなら] - 自動回転有効
回転終了
現在アプリがギャラリーでないなら 現在アプリがYouTubeでないなら 現在アプリがQuickPicでないなら - 自動回転無効
なぜ、開始は OR で指定して、終了は AND で指定するのでしょう?
条件は「アプリの画面が表示されている状態」か、「表示されていない状態」で指定します。
じゃぁ、「ギャラリーが表示されていて、YouTube が表示されている」という状態は起こりえるでしょうか?
それはありえません。だから、AND (全部一致)で指定してはダメです。
OR にしておかないと、回転開始は絶対に実行されません。
逆に、終了条件が OR (どれかが一致)だとどうなるでしょう?
ギャラリーが表示されているときは、YouTube が表示されているはずがありません。
なのに、「YoTube が表示されていない」だけで終了、という条件だと、画面の自動回転は開始した瞬間に終了してしまいます。