如何制作自定义Toast消息以占据整个屏幕

时间:2011-10-12 10:17:41

标签: android layout android-layout customization toast

我为自定义Toast消息创建了布局,并将fill_parent设置为自定义布局的根元素,但布局的大小仍然比整个屏幕小很多。

是否可以设置toast消息的大小以占据整个屏幕?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/toast_layout_root"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:orientation="vertical" android:gravity="center" >
    <ImageView android:id="@+id/image"
               android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_margin="10dip"/>
</LinearLayout>

注意android:layout_width =“fill_parent”和android:layout_height =“fill_parent”属性。但我的布局仍然是屏幕的三分之一左右。 。

任何想法或建议如何让整个屏幕上的祝酒词?

3 个答案:

答案 0 :(得分:5)

toast.setGravity(Gravity.FILL_HORIZONTAL|Gravity.FILL_VERTICAL, 0, 0);

答案 1 :(得分:3)

认为你需要在调用toast时设置它:

Toast myToast = Toast.makeText(this, "Hello", Toast.LENGTH_SHORT);
myToast.setGravity(Gravity.FILL_HORIZONTAL, 0, 0);

无法准确记住管道角色的确切位置,然后添加Gravity.FILL_VERTICAL。

答案 2 :(得分:0)

查看toast.setGravity(Gravity.FILL,0,0)行,它使吐司面包随心所欲地充满整个屏幕。这是我用于自定义吐司的内容,我想在整个屏幕上显示。

fun showCorectAnswerToast() {
    val inflater = layoutInflater
    val layout = inflater.inflate(R.layout.custom_toast,
        view?.findViewById<View>(R.id.custom_toast_container) as ViewGroup?)
    val toast = Toast(context)
    toast.setGravity(Gravity.FILL,0,0)
    toast.duration = Toast.LENGTH_SHORT
    toast.view = layout
    toast.show()
}