2012年2月20日月曜日

Toastの中のテキストをセンタリングする

最近はAndroidアプリを作っているわけですが、Toastの中のテキストをセンタリングする方法をメモっときます。

Toast自体のセンタリングは
setGravity(gravity, xoffset, yoffset)
でできるわけですが、中のテキストは簡単にできそうにありませんでした。
そこで、調べてみると、デフォルトのToastは
-LinearLayout
-TextView
という構成になっているようなので
((TextView)((LinearLayout)toast.getView()).getChildAt(0))
.setGravity(Gravity.CENTER_HORIZONTAL);
でセンタリングできるみたいです。
とても汚いですが・・・。

もしくは、自前でレイアウトを作成してsetView(view)してカスタム化してあげるか。
その場合はIDを"toast_layout"にしないといけないらしい。
その辺の詳細はコチラ


0 件のコメント: