2015年5月11日月曜日

全画面の Toast を表示する

Gravity の FILL_HORIZONTALFILL_GRAVITY を指定します。
  1. private void showFullscreenToast(Context context, String message) {  
  2.     TextView tv = new TextView(context);  
  3.     tv.setText(message);  
  4.     tv.setTextColor(Color.WHITE);  
  5.     tv.setBackgroundColor(Color.parseColor("#99000000"));  
  6.     tv.setGravity(Gravity.CENTER);  
  7.   
  8.     Toast toast = new Toast(context);  
  9.     toast.setGravity(Gravity.FILL_HORIZONTAL | Gravity.FILL_VERTICAL, 00);  
  10.     toast.setView(tv);  
  11.     toast.show();  
  12. }  


対応するToastクラスのコードは以下になります。

http://tools.oesf.biz/android-5.0.1_r1.0/xref/frameworks/base/core/java/android/widget/Toast.java#400
  1. 400                 if ((gravity & Gravity.HORIZONTAL_GRAVITY_MASK) == Gravity.FILL_HORIZONTAL) {  
  2. 401                     mParams.horizontalWeight = 1.0f;  
  3. 402                 }  
  4. 403                 if ((gravity & Gravity.VERTICAL_GRAVITY_MASK) == Gravity.FILL_VERTICAL) {  
  5. 404                     mParams.verticalWeight = 1.0f;  
  6. 405                 }  



0 件のコメント:

コメントを投稿