安卓没有border-radius属性

实现

  1. 在res/drawable目录下新建按钮样式文件 btn_normal.xml(正常状态) 和 btn_pressed.xml(按下状态)。

btn_normal.xml文件:

  1. <!-- 圆角的半径 -->
  2. <corners android:radius="10<?xml version="1.0" encoding="utf-8"?>
  3. <shape
  4. xmlns:android="http://schemas.android.com/apk/res/android"
  5. android:shape="rectangle">
  6. <!-- 圆角的半径 -->
  7. <corners android:radius="10dp"/>
  8. <!-- 填充颜色 -->
  9. <solid android:color="#3a8fea"/>
  10. </shape>
  11. dp"/>
  12. <!-- 填充颜色 -->
  13. <solid android:color="#3a8fea"/>

btn_pressed.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android">
  3. <!-- 圆角的半径 -->
  4. <corners android:radius="10dp"/>
  5. <!-- 填充颜色 -->
  6. <solid android:color="#0662f5"/>
  7. </shape>
  1. 在res/drawable目录下新建样式文件 btn_selector.xml 文件,定义按钮的不同状态样式。

btn_selector.xml文件:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <selector xmlns:android="http://schemas.android.com/apk/res/android">
  3. <!-- 正常状态 -->
  4. <item android:drawable="@drawable/btn_normal" android:state_pressed="false"/>
  5. <!-- 按下状态 -->
  6. <item android:drawable="@drawable/btn_pressed" android:state_pressed="true"/>
  7. </selector>
  1. 使用按钮样式。

activity_button.xml文件:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:app="http://schemas.android.com/apk/res-auto"
  4. xmlns:tools="http://schemas.android.com/tools"
  5. android:id="@+id/container"
  6. android:layout_width="match_parent"
  7. android:background="#000"
  8. android:layout_height="match_parent"
  9. tools:context=".ui.main.Main2Activity">
  10. <Button
  11. android:id="@+id/button2"
  12. android:layout_width="wrap_content"
  13. android:layout_height="wrap_content"
  14. android:layout_marginStart="8dp"
  15. android:layout_marginLeft="8dp"
  16. android:layout_marginTop="8dp"
  17. android:layout_marginEnd="8dp"
  18. android:layout_marginRight="8dp"
  19. android:layout_marginBottom="8dp"
  20. android:background="@drawable/btn_selector"
  21. android:text="Button"
  22. android:textColor="#fff"
  23. app:layout_constraintBottom_toBottomOf="parent"
  24. app:layout_constraintEnd_toEndOf="parent"
  25. app:layout_constraintRight_toRightOf="parent"
  26. app:layout_constraintStart_toStartOf="parent"
  27. app:layout_constraintTop_toTopOf="parent"
  28. tools:ignore="MissingConstraints" />
  29. </androidx.constraintlayout.widget.ConstraintLayout>

android:background=”@drawable/btn_selector”

其中的btn_selector是我们自定义的xml样式文件。

  1. 圆角实现

image.png

参考

https://blog.csdn.net/tracydragonlxy/article/details/88552262