Toast ekranın ortasında nasıl görüntülenir


89

Android'de ekranın altında bir tost mesajı görüntülemek istiyorum, şunu denedim:

Toast.makeText(test.this,"bbb", Toast.LENGTH_LONG).show();

Çalışmıyor, nasıl doğru yaparım?


Bana mantıklı gelmedi. Tam olarak ne söylemeye çalışıyorsun
SudoRahul

1
metni biçimlendir, doğru soru, örnek kod ne denedin, arama motorunu kullanmayı denedin mi?
deadfish

Bu soruyu düzenleyen kişiler yanlış düzenler ... Soru açık, mesaj gövdesi değil ... lütfen tekrar düzenleyin. Sormak istediği şey "Tost mesajı ekranın ortasında nasıl görüntülenir", mesaj "Android'de ekranın ortasında bir tost mesajı görüntülemek istiyorum, ekranın altında bir tost mesajı görüntülemek istiyorum Bu Toast.makeText (test.this, "bbb", Toast.LENGTH_LONG) .show (); Ekranın ortasına nasıl bir Toast mesajı yerleştirebilirim? " Sanırım öyle bir şeydi, düzenlendiği gibi değil ...
Elsanty

Bu makaleyi seviyorum. Bu yüzden paylaşıyorum. Android Tost Örneği - buraya tıklayın
Athira Reddy

Yanıtlar:


271

Toast'ı ekranın ortasında görüntülemek için .

Toast toast = Toast.makeText(test.this,"bbb", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();

Birisi konumu daha fazla ayarlamak isterse, setGravity'deki üçüncü argüman yAxis ofsetini piksel cinsinden alır.
Sagar

4

Tostunuzu Konumlandırma

Yatay olarak ortalanmış olarak ekranın altına yakın bir yerde standart bir tost bildirimi görünür. Bu pozisyonu setGravity(int, int, int) yöntem ile değiştirebilirsiniz . Bu, üç parametreyi kabul eder: bir Gravitysabit, bir x-positionofset ve bir y-positionofset.

Örneğin, tostun sol üst köşede görünmesi gerektiğine karar verirseniz, yerçekimini şu şekilde ayarlayabilirsiniz:

toast.setGravity(Gravity.TOP|Gravity.LEFT, 0, 0);

Konumu sağa kaydırmak istiyorsanız, ikinci parametrenin değerini artırın. Aşağı itmek için son parametrenin değerini artırın.


2

Xamarin.Android'de bu, ekranın ortasında tostu görüntüler:

            Toast toast = Toast.MakeText(ApplicationContext, "bbb", ToastLength.Long);
            toast.SetGravity(GravityFlags.Center, 0, 0);
            toast.Show();

2

Özel tost için düzen dosyası

<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" />

düğmenin tıklama etkinliğinde özel tost için .java dosyası

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();
        }
    });
}

}


1
Toast toast = new Toast(context);
        toast.setGravity(Gravity.FILL_HORIZONTAL | Gravity.BOTTOM, 0, 0);
toast.show();

0

Koltin'de merkezde (Yatay) metin ağırlığını gösterme / ayarlama

fun Context.longToast(msg: String) {
    Toast.makeText(this, msg, Toast.LENGTH_LONG)
        .apply {
           view.findViewById<TextView>(android.R.id.message)?.gravity = Gravity.CENTER
        }
        .show()
}

0

Aşağıdaki kod, Toast mesajını görüntülemek için kullanılabilir

Toast tt = Toast.makeText(MainActivity.this,"Your text displayed here", Toast.LENGTH_LONG);
tt.setGravity(Gravity.CENTER, 0, 0);
tt.show();

-2

Aşağıdaki kod benim için çalıştı.

Toast.makeText(this, "Toast in center", Toast.LENGTH_SHORT).setGravity(Gravity.CENTER,0,0).show();

setGravity, Toast nesnesi döndürmez. void setGravity (int gravity, int xOffset, int yOffset)
wrkwrk
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.