This帖子提供了大量答案,这些答案解释了如何在Android中创建圆形按钮。但几乎所有答案最终都会扩大按钮的大小。
例如,在此布局中,请注意顶部按钮(带有圆角的按钮)与其他按钮相比具有显着更多的填充。
这是不带圆角的按钮的代码;
<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"
/>
背景是此可绘制对象:
<?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>
答案 0 :(得分:2)
尝试删除样式属性,仅设置背景可绘制。
答案 1 :(得分: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" />
答案 2 :(得分:0)
并为圆角添加app:cornerRadius="8dp"