我已经构建了一个按钮栏,并希望它像外部按钮占据 40% 的空间而中间按钮占据 20% 的空间那样展开。正如您在屏幕截图中看到的那样,这是可行的,但文本在按钮内被裁剪。
我发现文本保持在 1 权重(=20%)的范围内,尽管按钮“知道”它有更多空间 - 否则它不会正确填充可绘制的背景。
这是按钮栏的设置:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@id/headerbar_top"
android:layout_width="match_parent"
android:layout_height="@dimen/headerbar_divided_height"
android:orientation="horizontal"
android:gravity="center"
android:weightSum="5"
>
<Button
android:id="@id/headerbar_btn_left"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="2"
android:gravity="center_horizontal|bottom"
android:paddingBottom="@dimen/headerbar_paddingBottom"
android:textSize="@dimen/headerbar_textSize"
android:textColor="@color/font"
android:text="Spots"
android:maxLines="1" android:lines="1"
android:ellipsize="end"
android:background="@drawable/headerbar_button_left_states"
android:onClick="onHeaderbarBtnClick"
android:layout_marginRight="@dimen/headerbar_divided_margin"
/>
<Button
android:id="@id/headerbar_btn_center"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="1"
android:gravity="center_horizontal|bottom"
android:paddingBottom="@dimen/headerbar_paddingBottom"
android:textSize="@dimen/headerbar_textSize"
android:textColor="@color/font"
android:maxLines="1" android:lines="1"
android:ellipsize="end"
android:background="@drawable/headerbar_button_center_states"
android:onClick="onHeaderbarBtnClick"
android:layout_marginRight="@dimen/headerbar_divided_margin"
android:layout_marginLeft="@dimen/headerbar_divided_margin"
/>
<Button
android:id="@id/headerbar_btn_right"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="2"
android:gravity="center_horizontal|bottom"
android:paddingBottom="@dimen/headerbar_paddingBottom"
android:textSize="@dimen/headerbar_textSize"
android:textColor="@color/font"
android:text="Tours"
android:maxLines="1" android:lines="1"
android:ellipsize="end"
android:background="@drawable/headerbar_button_right_states"
android:onClick="onHeaderbarBtnClick"
android:layout_marginLeft="@dimen/headerbar_divided_margin"
/>
</LinearLayout>
有谁知道为什么按钮文本的行为如此奇怪?
编辑:这是左按钮的 XML-drawable:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/headerbar_button_left_on" android:state_selected="true"/>
<item android:drawable="@drawable/headerbar_button_left_off"/>
</selector>
这里是drawables本身: