W Androidzie chcę wyświetlić komunikat wyskakujący na dole ekranu, próbowałem tego:
Toast.makeText(test.this,"bbb", Toast.LENGTH_LONG).show();
To nie działa, jak mam to zrobić poprawnie?
android
android-toast
tedris
źródło
źródło
Odpowiedzi:
Aby wyświetlić Toast na środku ekranu.
Toast toast = Toast.makeText(test.this,"bbb", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); toast.show();
źródło
Umieszczanie tostów
Standardowe powiadomienie o tostach pojawia się w dolnej części ekranu, wyśrodkowane w poziomie. Możesz zmienić tę pozycję za pomocą
setGravity(int, int, int)
metody. Akceptuje trzy parametry:Gravity
stałą,x-position
przesunięcie iy-position
przesunięcie.Na przykład, jeśli zdecydujesz, że toast powinien pojawić się w lewym górnym rogu, możesz ustawić grawitację w następujący sposób:
toast.setGravity(Gravity.TOP|Gravity.LEFT, 0, 0);
Jeśli chcesz przesunąć pozycję w prawo, zwiększ wartość drugiego parametru. Aby go obniżyć, zwiększ wartość ostatniego parametru.
źródło
W Xamarin.Android, to wyświetla toast na środku ekranu:
Toast toast = Toast.MakeText(ApplicationContext, "bbb", ToastLength.Long); toast.SetGravity(GravityFlags.Center, 0, 0); toast.Show();
źródło
Plik układu niestandardowego tostu
<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" />
plik .java dla niestandardowego zdarzenia toastowego po kliknięciu przycisku
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(); } }); }
}
źródło
Toast toast = new Toast(context); toast.setGravity(Gravity.FILL_HORIZONTAL | Gravity.BOTTOM, 0, 0); toast.show();
źródło
Wyświetlanie / ustawianie grawitacji tekstu w środku (poziomo) w koltinie
fun Context.longToast(msg: String) { Toast.makeText(this, msg, Toast.LENGTH_LONG) .apply { view.findViewById<TextView>(android.R.id.message)?.gravity = Gravity.CENTER } .show() }
źródło
Poniższy kod może służyć do wyświetlenia komunikatu Toast
Toast tt = Toast.makeText(MainActivity.this,"Your text displayed here", Toast.LENGTH_LONG); tt.setGravity(Gravity.CENTER, 0, 0); tt.show();
źródło
Poniższy kod zadziałał dla mnie.
Toast.makeText(this, "Toast in center", Toast.LENGTH_SHORT).setGravity(Gravity.CENTER,0,0).show();
źródło