3

私はボタンバーを作成し、外側のボタンがスペースの 40% を占有し、中央のボタンがスペースの 20% を占有するように広げたいと考えています。スクリーンショットでわかるように、これは機能しますが、テキストがボタン内でトリミングされます。

ボタンのテキストが 1 ウェイト サイズで切り取られる

ボタンはより多くのスペースがあることを「認識」しているにもかかわらず、テキストが 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 ドローアブルは次のとおりです。

<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>

そして、ここにドローアブル自体があります:

選択されていない左ボタンのドローアブル リソース 選択された左ボタンのドローアブル リソース

4

1 に答える 1

1

android:ellipsize="end"ボタンの宣言から削除します。

また: 9-patch-drawables にコンテンツ領域がないようです。下隅と右隅は 9 パッチのコンテンツに使用されます。これは、9-patches に関する優れた簡単なチュートリアルです。

于 2012-09-12T12:55:00.567 に答える