6 ответов:
для просмотра тост в центре экрана.
Toast toast = Toast.makeText(test.this,"bbb", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); toast.show();
позиционирование тост
стандартное всплывающее уведомление появляется в нижней части экрана, по центру по горизонтали. Вы можете изменить эту позицию с
setGravity(int, int, int)метод. Это принимает три параметра:Gravityконстанта, anx-positionсмещение, иy-positionсмещение.например, если вы решили, что тост должен появиться в верхнем левом углу, вы можете установить серьезность такой:
toast.setGravity(Gravity.TOP|Gravity.LEFT, 0, 0);если вы хотите подтолкнуть расположите справа, увеличьте значение второго параметра. Чтобы сдвинуть его вниз, увеличьте значение последнего параметра.
файл макета для пользовательских тостов
<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();
В Xamarin.Android, это отображает тост в центре экрана:
Toast toast = Toast.MakeText(ApplicationContext, "bbb", ToastLength.Long); toast.SetGravity(GravityFlags.Center, 0, 0); toast.Show();
ниже код работал для меня.
Toast.makeText(this, "Toast in center", Toast.LENGTH_SHORT).setGravity(Gravity.CENTER,0,0).show();
Comments