我正在创建一个与android.widget.Toast.setView()一起使用的自定义视图,但无论我如何调整视图大小,一切似乎都是使用" wrap_content"作为布局宽度设置。
例如,我是否将视图的根布局(在我的情况下为LinearLayout)宽度设置为' match_parent'或者指定一个静态大小,例如" 500dp"我在运行时得到了相同的结果...... toast简单地包装了内容。
我的布局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平台上运行)正在迫使吐司视图成为&#39; wrap_content。&#39;是这样吗?
我确定有人会建议我查看AOSP中的源代码。如果我有方便的代码,我会这样做。
答案 0 :(得分:0)
我在我的应用程序中这样做,它适用于定义的宽度。
^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.](19|20)\d\d\s{1}(?:(?:([01]?\d|2[0-3]):)?([0-5]?\d):)?([0-5]?\d)\s{1}([aApP][mM]){1}$
我设置了RelativeLayout的宽度,它对我有用。试试这个。