OK.. I used Arjen Markus code on his wiki page A fading window and I update it to look as much it can be like it is on Android Toast.makeText() message. The feature of showing a string on a window and wait a second or two then fading the message is called on Android a Toast message.

If you made ,at the same run, for example like 20 messages one after the other, it will queue them and fade them all one by one very much like Android's. So here is the updated code. It's a procedure which you can call it as much as you like and its message is centered on the screen.

Usage example:

#1st parameter is the message you want to display
#2nd parameter is the number of milliseconds to keep the message on.

tk_toastMessageBox "my toastmessage" 1000 

Here is the procedure. Just copy it as is and add it to your application:

proc tk_toastMessageBox { message fade_time } {
        
        proc fade {w degree} {
                    wm attributes $w -alpha $degree
                    if { $degree > 0 } {
                        after 200 [list fade $w [expr {$degree-0.05}]]
                    } else {
                        destroy $w
                    }
                }
        
        #find the next toplevel window name available. 
        set counter 1
        while { [winfo exists ".fading_$counter" ]==1 } { incr counter } 
        
        set toplevel_window_name ".fading_$counter"
        toplevel $toplevel_window_name
        
        wm overrideredirect $toplevel_window_name 1
        
        #put the message toplevel window in the center of the screen
        set window_center_x_coords [ expr {([winfo screenwidth .]-[winfo width $toplevel_window_name])/2} ]
        set window_center_y_coords [ expr {([winfo screenheight .]-[winfo height $toplevel_window_name])/2} ]
#        set window_center [ join [ list $window_center_x_coords "x" $window_center_y_coords ] ]
#        set window_center [string map {" x " "x" } $window_center ]
        wm geometry $toplevel_window_name "+$window_center_x_coords+$window_center_y_coords"
         
        #raise $toplevel_window_name
        
        pack [label "$toplevel_window_name.label" -text  $message ]
        
        tkwait visibility  $toplevel_window_name
        
        
        set max_count $counter
        for { set count $max_count } { $count >0} { incr count -1 } {
                if {[winfo exists ".fading_$count" ]==1 } { 
                        raise ".fading_$count" 
                        
                }
                
        }
        after [ expr $fade_time*$max_count ] [ list fade $toplevel_window_name 1.0 ]
}