android - टोस्ट LENGTH_LONG और LENGTH_SHORT की अवधि क्या है




time toast (3)

मुझे मिलीसेकंड (एमएस) में LENGTH_LONG और LENGTH_SHORT की सटीक अवधि की आवश्यकता है। इसके अलावा मुझे यह जानने की जरूरत है कि LENGTH_LONG के साथ टोस्ट संदेश की अवधि किसी भी फोन में और किसी भी एपीआई संस्करण के साथ समान अवधि होगी।

क्या कोई जानता है कि अवधि कहां परिभाषित है?, मेरा मतलब एमएस में परिभाषित है। मुझे पता है कि LENGTH_LONG मूल्य 1 के साथ कुछ int const है। लेकिन मुझे नहीं पता कि वास्तविक अवधि कहां परिभाषित की गई है।


यह सच है कि हमें टोस्ट की अवधि बदलने की अनुमति नहीं है। लेकिन यदि आप एक विकल्प खोज रहे हैं और आपको वास्तव में टोस्ट के साथ ऐसा करने की ज़रूरत है, तो आप इसे आजमा सकते हैं।

अगली पंक्ति में एक और डुप्लिकेट टोस्ट रखें

उदाहरण के लिए:

Toast.makeText(this, "Hello ", Toast.LENGTH_LONG).show();
Toast.makeText(this, "Hello ", Toast.LENGTH_LONG).show();

उपयोगकर्ता 2 टोस्टों के बीच संक्रमण में किसी भी बदलाव का पता नहीं लगाएगा।

धन्यवाद।


यहां आधिकारिक एंड्रॉइड स्रोत जहां इन झंडे को परिभाषित किया गया है:

public class NotificationManagerService extends SystemService {

    static final int LONG_DELAY = 3500; // 3.5 seconds
    static final int SHORT_DELAY = 2000; // 2 seconds

    private void scheduleTimeoutLocked(ToastRecord r){
        mHandler.removeCallbacksAndMessages(r);
        Message m = Message.obtain(mHandler, MESSAGE_TIMEOUT, r);
        long delay = r.duration == Toast.LENGTH_LONG ? LONG_DELAY : SHORT_DELAY;
        mHandler.sendMessageDelayed(m, delay);
    }
}

here उत्तर दिया here । जैसा कि आपने Toast.LENGTH_SHORT और Toast.LENGTH_LONG उल्लेख किया है, एमएस में नहीं बल्कि 0 या 1 है।

वास्तविक अवधि हैं:

private static final int LONG_DELAY = 3500; // 3.5 seconds
private static final int SHORT_DELAY = 2000; // 2 seconds




milliseconds