我已经建立了一个按钮栏,希望它像外部按钮占据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>
以下是抽奖本身:
答案 0 :(得分:1)
从按钮的声明中删除android:ellipsize="end"
。
另外:你的9-patch-drawable似乎缺少了内容区域。底部和右角用于9补丁内容。 Here's a good simple tutorial on 9-patches.