Android中的圆形按钮没有扩大尺寸

问题描述 投票:1回答:3

This帖子有很多解释,解释如何在Android中创建一个圆形按钮。但几乎所有答案最终都会扩大按钮的大小。

例如,在此布局中,请注意顶部按钮(具有圆角的按钮)与其余按钮相比具有明显更多的填充。

Screenshot

这是没有圆角的按钮的代码;

<Button
    android:id="@+id/useKeyboardButton"
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:text="@string/use_keyboard_msg"
    app:layout_constraintBottom_toTopOf="@+id/privacyPolicyButton"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.5"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/enableKeyboardButton"
    style="@style/Widget.AppCompat.Button.Colored"
    />

这是圆角按钮的代码:

<Button
    android:id="@+id/enableKeyboardButton"
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:text="@string/enable_keyboard_msg"
    app:layout_constraintBottom_toTopOf="@+id/useKeyboardButton"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.5"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    style="@style/Widget.AppCompat.Button.Colored"
    android:background="@drawable/rounded_corners"
    />

背景是这个drawable:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/colorAccent"/>
    <corners android:radius="10dp"/>
</shape>
android android-drawable android-button rounded-corners android-background
3个回答
2
投票

尝试删除样式属性,仅设置背景可绘制。


1
投票

这可以通过更新的支持库(v28)MaterialButton来完成。

<android.support.design.button.MaterialButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="MATERIAL BUTTON"
android:textSize="18sp"
app:icon="@drawable/ic_android_white_24dp" />

看看this great article


0
投票

使用MaterialButton

并添加app:cornerRadius="8dp"for圆角

© www.soinside.com 2019 - 2024. All rights reserved.