Toast 사용자 정의, 연속 클릭 방지, 지속 적 인 팝 업 문제

1. 연속 클릭 후 Toast 지속 팝 업 을 피하 고 체험 이 좋 지 않 음
public class ToastUtil  {
    private static Context context = null;
    private static Toast toast = null;
    public static void getToast(Context context,String theText){
        if (toast == null) {
            toast = Toast.makeText(context, theText, Toast.LENGTH_SHORT);
        } else {
            toast.setText(retId);
            toast.setDuration(Toast.LENGTH_SHORT);
        }
        toast.show();
    }
}

사용: Toast. getToast (MainActivity. this, "나의 Toast");
이것으로 완성 되 었 다
2. 사용자 정의 스타일 Toast
public class CustomerToast {

    private static Toast toast;

    public static void showToast(Context context, String content) {

        LayoutInflater inflater = LayoutInflater.from(context);
        View view = inflater.inflate(R.layout.toast_show, null);
        TextView tv = (TextView) view.findViewById(R.id.tv_toast_text);
        tv.setText(content);

        //            toast     
        if (toast != null) {
            toast.setView(view);
        } else {
            toast = new Toast(context);
            toast.setView(view);
            toast.setDuration(Toast.LENGTH_SHORT);
            toast.setGravity(Gravity.CENTER, 0, 0);
        }
        toast.show();
    }
}

다음은 레이아웃 파일 toastshow
xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/tv_toast_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:background="@drawable/mytoastshape"
        android:gravity="center"
        android:paddingBottom="8dp"
        android:paddingLeft="30dp"
        android:paddingRight="30dp"
        android:paddingTop="8dp"
        android:textColor="#ffffff" />
LinearLayout>

drawable 폴 더 아래 Toast 스타일 만 들 기: mytoastshape
xml version="1.0" encoding="utf-8"?>
<shape  xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="@android:color/darker_gray" />
    <corners android:radius="16dp" />
shape >

사용:
CustomerToast.showToast(MainActivity.this, "  Toast");

완성 하 다.

좋은 웹페이지 즐겨찾기