Как вы можете сделать заказное уведомление тоста заполнить ширину экрана?Как сделать пользовательскую ширину заполнения тоста?
Я пробовал несколько вещей и не могу заставить его работать.
Спасибо.
Как вы можете сделать заказное уведомление тоста заполнить ширину экрана?Как сделать пользовательскую ширину заполнения тоста?
Я пробовал несколько вещей и не могу заставить его работать.
Спасибо.
Это должно работать:
Toast t = Toast.makeText(this, "Hello", Toast.LENGTH_SHORT);
t.setGravity(Gravity.FILL_HORIZONTAL, 0, 0);
Я бы сказал, что вы должны сделать диалог или действие (с диалоговой темой или чем-то, что вы сделали, которая похожа на тему диалога) и показать это.
Используйте таймер в oncreate, который вызывает finish()
после вашего времени.
Попробуйте что-то вроде этого ...
wM = (WindowManager) context.getApplicationContext()
.getSystemService(Context.WINDOW_SERVICE);
mParams = new WindowManager.LayoutParams();
LayoutInflater inflate = (LayoutInflater) context
.getApplicationContext().getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
v = inflate.inflate(R.layout.custom_toast, null);
// Set the layout to be like a toast window!
mParams.gravity = Gravity.WHEREVER YOU WANT IT TO BE
mParams.height = 200;
mParams.width = WindowManager.LayoutParams.FILL_PARENT;
mParams.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
mParams.format = PixelFormat.OPAQUE;
mParams.type = WindowManager.LayoutParams.TYPE_TOAST;
wm.addView(v);
<Timer or whatever>
wm.removeView(v);
Вы можете найти здесь http://android-apps-blog.blogspot.com/2011/04/how-to-display-custom-toast-in-android.html хороший tutorian на Как создать уведомление пользовательских Toast.
Посмотрите на это example для пользовательского тоста с бордюром.
Вы можете создать тост с пользовательским макетом и fill_horizontal. Ниже код написан в классе адаптера, и он работает нормально.
LayoutInflater inflater =(LayoutInflater)mContext
.getSystemService(mContext.LAYOUT_INFLATER_SERVICE);
View layout =inflater.inflate(R.layout.custom_toast_layout,null);
TextView text = (TextView) layout.findViewById(R.id.text);
text.setText("Hello! This is a custom toast!");
Toast toast = new Toast(mContext);
//use both property in single function
toast.setGravity(Gravity.BOTTOM|Gravity.FILL_HORIZONTAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
Это прекрасно работает, но тост отображается как center_horizental. Можем ли мы иметь Fill_Horizontal и BOTTOM вместе? –
работает как шарм, спасибо @ C0deAttack –
@KaiWang вы можете просто добавить | оператор вроде этого: toast.setGravity (Gravity.FILL_HORIZONTAL | Gravity.BOTTOM, 0, 0); – Cody