화면 중앙에 토스트를 표시하는 방법


89

Android에서 화면 하단에 토스트 메시지를 표시하고 싶습니다.

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

작동하지 않습니다. 어떻게 올바르게 수행합니까?


나에게는 말이되지 않았다. 정확히 무슨 말을하려는 거죠?
SudoRahul

1
형식 텍스트, 올바른 질문, 샘플 코드 무엇을 시도 했습니까? 검색 엔진을 사용해 보셨습니까?
deadfish

이 질문을 편집하는 사람들은 잘못 편집합니다 ... 질문은 분명합니다. 메시지 본문은 아닙니다 ... 다시 편집하십시오. 그가 물어보고 싶은 것은 "화면 중앙에 토스트 메시지를 표시하는 방법"이고 메시지는 "안드로이드에서 화면 중앙에 토스트 메시지를 표시하고 화면 하단에 토스트 메시지를 표시하고 싶습니다. 이 Toast.makeText (test.this, "bbb", Toast.LENGTH_LONG) .show (); 어떻게 화면 중앙에 토스트 메시지를 배치합니까? " 나는 그것이 편집 한하지, 뭐 그런 생각 ...
Elsanty

나는이 기사를 좋아한다. 그것이 내가 그것을 공유하는 이유입니다. 안드로이드 토스트 예 - 여기를 클릭
Athira 레디

답변:


271

화면 중앙에 토스트 를 표시합니다 .

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

누군가 위치를 더 조정하고 싶다면 setGravity의 세 번째 인수는 픽셀 단위의 yAxis 오프셋을받습니다.
Sagar

4

토스트 배치

표준 알림 메시지가 화면 하단에 가로 중앙에 표시됩니다. setGravity(int, int, int) 방법 으로이 위치를 변경할 수 있습니다 . 여기에는 Gravity상수, x-position오프셋 및 오프셋의 세 가지 매개 변수가 허용 y-position됩니다.

예를 들어, 토스트가 왼쪽 상단 모서리에 나타나도록 결정한 경우 다음과 같이 중력을 설정할 수 있습니다.

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

위치를 오른쪽으로 조금 이동하려면 두 번째 매개 변수의 값을 늘립니다. 아래로 조금씩 이동하려면 마지막 매개 변수의 값을 늘립니다.


2

Xamarin.Android에서는 화면 중앙에 알림 메시지가 표시됩니다.

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

2

사용자 지정 알림을위한 레이아웃 파일

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

}


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

0

콜틴의 중앙 (가로)에서 텍스트 중력 표시 / 설정

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

다음 코드를 사용하여 토스트 메시지를 표시 할 수 있습니다.

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

-2

아래 코드가 저에게 효과적이었습니다.

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

setGravity는 Toast 개체를 반환하지 않습니다. 보이드 setGravity (INT 중력 xoffset이 INT, INT yOffset)
wrkwrk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.