android 按钮不适合其文本

ui7jx7zq  于 2023-05-27  发布在  Android
关注(0)|答案(5)|浏览(163)

我有一个LinearLayout有两个按钮。但是,当按钮有一些需要打断的较长文本时,按钮的高度不会扩展以适应文本。相反,它裁剪文本。
这是我的资料

<LinearLayout
    style="?android:attr/buttonBarStyle"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="2">

    <Button
        android:id="@+id/previous_button"
        style="?android:attr/buttonBarButtonStyle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1"
        android:text="@string/previous_button"
        android:textColor="@color/light_blue" />

    <Button
        android:id="@+id/next_button"
        style="?android:attr/buttonBarButtonStyle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1"
        android:text="@string/next_button"
        android:textColor="@color/light_blue" />

</LinearLayout>

任何帮助,为什么按钮作物的文字?

wbgh16ku

wbgh16ku1#

您可以使文本在多行中对齐。默认情况下,水平LinearLayout将对齐其所有子控件的基线。因此,多行按钮中的第一行文本与其他按钮中的单行文本垂直对齐。
要禁用此行为,请在LinearLayout上设置android:baselineAligned=“false”
例如,

<LinearLayout
            android:id="@+id/bottom_linear_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:baselineAligned="false"
            android:orientation="horizontal">

            <Button
                android:id="@+id/two_board_btn_continue"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:background="@drawable/rounded_corner_blue_button"
                android:text="@string/continue_bidding"
                android:textColor="@android:color/white" />

            <Button
                android:id="@+id/two_board_btn_checkOut"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:background="@drawable/rounded_corner_blue_button"
                android:text="@string/checkout"
                android:textColor="@android:color/white" />

            <Button
                android:id="@+id/two_board_btn_cart"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:background="@drawable/rounded_corner_blue_button"
                android:text="@string/add_to_cart"
                android:textColor="@android:color/white" />

        </LinearLayout>
mzillmmw

mzillmmw2#

只需从两个按钮中删除@style即可。

g9icjywg

g9icjywg3#

尝试将android:singleLine="false"属性添加到有问题的按钮。希望这能解决你的问题。
如果不起作用,可能需要通过添加android:padding="0dp"来删除按钮的默认填充

svgewumm

svgewumm4#

我通过在第二个按钮中添加以下内容解决了这个问题:

android:autoSizeTextType="uniform"
android:includeFontPadding="false"
nsc4cvqm

nsc4cvqm5#

你的按钮名字有多长。您已经使用了匹配父项。所以,只有你能做的就是减小按钮的textSize。就这些。

相关问题