SuperToastをもう少し掘り下げる


昨日の記事「Toastを強化したSuperToastを試してみた」で、SuperToastを使ってToastを表示するところまで試したわけですが、それだけだとどんなことができるのか、詳細はまだわからずじまいです。
そのため、今日はそれぞれのメソッドでどのような指定が可能なのかについてまとめてしまいたいと思います。

尚、今日のテストコードは昨日と同様のGitHubリポジトリに更新して突っ込みました。
コメントアウトしているだけなので、確認したい行を有効化して試してみてください。
https://github.com/shige0501/sample_superToasts

SuperToast#create()

機能
SuperToastのインスタンスを生成します。
指定する引数によって挙動が変わります。
オーバーロードで3つ定義されており、アニメーションやToastのスタイルも指定可能です。

メソッド

SuperToast create(Context context, CharSequence textCharSequence, int durationInteger)
SuperToast create(Context context, CharSequence textCharSequence, int durationInteger, SuperToast.Animations animations)
SuperToast create(Context context, CharSequence textCharSequence, int durationInteger, Style style)

引数

引数名 説明
Context context コンテキスト
CharSequence textCharSequence 表示するテキストの指定
int durationInteger Toastの表示時間を指定。以下の定数参照
SuperToast.Animations animations Toast表示時のアニメーションを指定。以下の定数参照
Sytle style Toastのスタイルを指定。以下の定数参照

戻り値
いずれもSuperToastとなっているので、チェーンメソッドとして利用できる。

定数

        

定数名
SuperToast.Duration.VERY_SHORT 1500
SuperToast.Duration.SHORT 2000
SuperToast.Duration.MEDIUM 2750
SuperToast.Duration.LONG 3500
SuperToast.Duration.EXTRA_LONG 4500

Toastの表示時間です。最大で4.5秒表示が指定可能です。

        

定数名 説明
Style.BLACK
Style.BLUE
Style.GRAY 灰色
Style.GREEN
Style.ORANGE オレンジ
Style.PURPLE パープル
Style.RED
Style.WHITE

スタイルで指定可能なのは色ですね。

        

定数名 説明
SuperToast.Animations.FADE フェード
SuperToast.Animations.FLYIN 画面右からスライドしてきます
SuperToast.Animations.POPUP ポップアップ表示します
SuperToast.Animations.SCALE スケール表示します

アニメーションでわかりやすいのはFLYINでした。表示時間が短すぎるせいかもしれませんが、違いがわかりにくいですね。

Styleとアニメーションの同時設定にはgetStyleメソッドを

昨日のサンプルコードで既に答えは出ていますが、SuperToast#createメソッドに指定する引数には、StyleとAnimationを同時に指定するメソッドは用意されていません。
指定する場合にはgetStyleメソッドの利用が必要なようです。
戻り値がStyleなので、SuperToast#createメソッドに渡してやることが可能です。

SuperToast#getStyle()

機能
SuperToastに指定するスタイルを取得します。
StyleとAnimationsを合わせて指定したい場合に利用するようです。

メソッド

Style getStyle(int styleType, Animations animations)

引数

引数名 説明
int styleType 上述のスタイルを指定
Animations animations 表示するテキストの指定

戻り値
Styleが返ってくる

後は、SuperToastに設定可能なメソッドが複数用意されていますが、文字サイズを変更したり、アイコンを変更したりと、この辺りは割愛しようと思いますが、SuperToast#setIconメソッドだけは特殊なようです。

SuperToast#setIcon()

機能
サンプルにあるように、Toast上に表示したいアイコンを指定することができるのですが、SuperToast仕様でまとめられているようです。

メソッド

void setIcon(int iconResource, SuperToast.IconPosition iconPosition)

引数

引数名 説明
int iconResource アイコンリソース。下記定数を参照
SuperToast.IconPosition iconPosition アイコンを表示する位置。下記定数を参照

定数

        

定数名 説明
SuperToast.Icon.Dark.EDIT
SuperToast.Icon.Dark.EXIT
SuperToast.Icon.Dark.INFO
SuperToast.Icon.Dark.REDO
SuperToast.Icon.Dark.REFRESH
SuperToast.Icon.Dark.SAVE
SuperToast.Icon.Dark.SHARE
SuperToast.Icon.Dark.UNDO

値の説明は不要ですね。それぞれ、画像リソースになっているので、定数名にあるとおりの画像が表示されます。

        

定数名 説明
SuperToast.IconPosition.LEFT
SuperToast.IconPosition.TOP
SuperToast.IconPosition.RIGHT
SuperToast.IconPosition.BOTTOM

テキストを基準に、上下左右のどこにアイコンを表示するかを指定します。

調べてみた感想

いろいろやれて良いなーと思ったんですが、ちょっと残念に思えたのは表示するテキストがリソース参照をサポートしていないこと。
これだと、多言語化まで意識すると毎回getResources().getString(…)のようなコードを書かないといけなくなりそうです。

今日のところはここまでです。ここまで読んでくださって、ありがとうございました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です