android toast 消息是否被强制发送到 wrap_content layout_width?
are android toast messages forced to wrap_content layout_width?
我正在创建一个与 android.widget.Toast.setView() 一起使用的自定义视图,但无论我如何调整视图的大小,所有内容似乎都是使用 "wrap_content" 作为布局宽度设置进行布局的。
例如,无论我是将视图的根布局(在我的例子中是 LinearLayout)宽度设置为 'match_parent' 还是指定静态大小(例如“500dp”),我在运行时都会得到相同的结果...敬酒简单地包装内容。
我的布局XML是:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/toast_container"
android:orientation="horizontal"
android:layout_width="500dp"
android:layout_height="wrap_content"
android:padding="16dp"
android:background="@drawable/toast_bg">
<ImageView
android:id="@+id/toastIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:src="@drawable/toast_icon" />
<TextView
android:id="@+id/toastMsg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="sample toast message"/>
</LinearLayout>
我怀疑 Android(我是 API 19 Kit-Kat 平台中的 运行)强制吐司视图 'wrap_content.' 是这样吗?
我确定有人会建议我查看 AOSP 中的源代码。如果我手边有代码,我会这样做。
我在我的应用程序中这样做,它适用于定义的宽度。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toast_container"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="16dp"
>
<RelativeLayout
android:layout_width="800dp"
android:layout_height="wrap_content"
android:background="@drawable/toast_bg">
<ImageView
android:id="@+id/toastIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:src="@drawable/toast_icon" />
<TextView
android:id="@+id/toastMsg"
android:layout_toRightOf="@+id/toastIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="sample toast message"/>
</RelativeLayout>
我设置了 RelativeLayout 的宽度,它适用于我。试试这个。
我正在创建一个与 android.widget.Toast.setView() 一起使用的自定义视图,但无论我如何调整视图的大小,所有内容似乎都是使用 "wrap_content" 作为布局宽度设置进行布局的。
例如,无论我是将视图的根布局(在我的例子中是 LinearLayout)宽度设置为 'match_parent' 还是指定静态大小(例如“500dp”),我在运行时都会得到相同的结果...敬酒简单地包装内容。
我的布局XML是:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/toast_container"
android:orientation="horizontal"
android:layout_width="500dp"
android:layout_height="wrap_content"
android:padding="16dp"
android:background="@drawable/toast_bg">
<ImageView
android:id="@+id/toastIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:src="@drawable/toast_icon" />
<TextView
android:id="@+id/toastMsg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="sample toast message"/>
</LinearLayout>
我怀疑 Android(我是 API 19 Kit-Kat 平台中的 运行)强制吐司视图 'wrap_content.' 是这样吗?
我确定有人会建议我查看 AOSP 中的源代码。如果我手边有代码,我会这样做。
我在我的应用程序中这样做,它适用于定义的宽度。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toast_container"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="16dp"
>
<RelativeLayout
android:layout_width="800dp"
android:layout_height="wrap_content"
android:background="@drawable/toast_bg">
<ImageView
android:id="@+id/toastIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:src="@drawable/toast_icon" />
<TextView
android:id="@+id/toastMsg"
android:layout_toRightOf="@+id/toastIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="sample toast message"/>
</RelativeLayout>
我设置了 RelativeLayout 的宽度,它适用于我。试试这个。