【发布时间】:2020-08-26 16:52:41
【问题描述】:
我想将 TextView 和 ImageBottom 设置为宽度 = wrap_content 的水平线。所以我尝试使用:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/widget_warning"
android:textStyle="bold"
/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_settings_black"
android:id="@+id/info"
android:onClick="onClick"
/>
</LinearLayout>
它是有效的,但如果文本很大,那么 ImageButton 是不可见的(如果交换 ImageButton 和 TextView 则它工作得很好)。
对于这个变体:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/widget_warning"
android:textStyle="bold"
/>
<ImageButton
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:src="@drawable/ic_settings_black"
android:id="@+id/info"
android:onClick="onClick"
/>
</LinearLayout>
TextView 和 ImageButton 被截断。如果使用 TableLayout 我会得到相同的结果。
我不想同时使用 weight 属性:ImageButton 必须有 wrap_content 宽度。 我不使用支持库。 GridLayout 不起作用。相对布局:如果 Button 左侧的文本,则文本使用所有宽度及以上。 有什么想法吗?
【问题讨论】:
-
您的代码看起来不错。能否提供完整的xml代码?
-
@Mohammed Alaa 是的,谢谢。