В Android я хочу отображать всплывающее сообщение внизу экрана, я пробовал это:
Toast.makeText(test.this,"bbb", Toast.LENGTH_LONG).show();
Не работает, как мне правильно сделать?
android
android-toast
тедрис
источник
источник
Ответы:
Для отображения тоста в центре экрана.
Toast toast = Toast.makeText(test.this,"bbb", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); toast.show();
источник
Размещение тоста
Стандартное всплывающее уведомление появляется в нижней части экрана по центру по горизонтали. Вы можете изменить это положение с помощью
setGravity(int, int, int)
метода. Он принимает три параметра:Gravity
константу,x-position
смещение иy-position
смещение.Например, если вы решили, что тост должен отображаться в верхнем левом углу, вы можете установить гравитацию следующим образом:
toast.setGravity(Gravity.TOP|Gravity.LEFT, 0, 0);
Если вы хотите сместить позицию вправо, увеличьте значение второго параметра. Чтобы сдвинуть его вниз, увеличьте значение последнего параметра.
источник
В Xamarin.Android всплывающее сообщение отображается в центре экрана:
Toast toast = Toast.MakeText(ApplicationContext, "bbb", ToastLength.Long); toast.SetGravity(GravityFlags.Center, 0, 0); toast.Show();
источник
Файл макета для пользовательского тоста
<ImageView android:id="@+id/image" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginRight="5dp" /> <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="fill_parent" android:textColor="#000" />
.java файл для пользовательского тоста при нажатии кнопки
public class MainActivity extends Activity { private Button button; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button = (Button) findViewById(R.id.buttonToast); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // get your custom_toast.xml ayout LayoutInflater inflater = getLayoutInflater(); View layout = inflater.inflate(R.layout.custom_toast, (ViewGroup) findViewById(R.id.custom_toast_layout_id)); // set a dummy image ImageView image = (ImageView) layout.findViewById(R.id.image); image.setImageResource(R.drawable.ic_launcher); // set a message TextView text = (TextView) layout.findViewById(R.id.text); text.setText("Button is clicked!"); // Toast... Toast toast = new Toast(getApplicationContext()); toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0); toast.setDuration(Toast.LENGTH_LONG); toast.setView(layout); toast.show(); } }); }
}
источник
Toast toast = new Toast(context); toast.setGravity(Gravity.FILL_HORIZONTAL | Gravity.BOTTOM, 0, 0); toast.show();
источник
Отображение / установка гравитации текста в центре (по горизонтали) в колтинах
fun Context.longToast(msg: String) { Toast.makeText(this, msg, Toast.LENGTH_LONG) .apply { view.findViewById<TextView>(android.R.id.message)?.gravity = Gravity.CENTER } .show() }
источник
Следующий код можно использовать для отображения тост-сообщения
Toast tt = Toast.makeText(MainActivity.this,"Your text displayed here", Toast.LENGTH_LONG); tt.setGravity(Gravity.CENTER, 0, 0); tt.show();
источник
Приведенный ниже код работал у меня.
Toast.makeText(this, "Toast in center", Toast.LENGTH_SHORT).setGravity(Gravity.CENTER,0,0).show();
источник