昨日の記事「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(…)のようなコードを書かないといけなくなりそうです。
今日のところはここまでです。ここまで読んでくださって、ありがとうございました。
「SuperToastをもう少し掘り下げる」への2件のフィードバック