android MaterialButton的使用

有效解决之前创建大量的shape问题

  • 导入
//material组件
    api 'com.google.android.material:material:1.1.0'

-使用

<com.google.android.material.button.MaterialButton
        android:layout_width="wrap_content"
        android:layout_height="20dp"
        android:layout_marginLeft="@dimen/dp_16"
        android:layout_marginTop="8dp"
        android:layout_marginBottom="10dp"
        android:gravity="center_vertical"
        android:includeFontPadding="false"
        android:orientation="vertical"
        android:paddingTop="0dp"
        android:paddingBottom="0dp"
        android:stateListAnimator="@null"
        android:text="@{tagText}"
        android:textColor="@color/color_2f2"
        android:textSize="@dimen/sp_10"
        android:visibility="@{TextUtils.isEmpty(tagText)?View.GONE:View.VISIBLE}"
        app:backgroundTint="@color/color_gray"
        app:cornerRadius="10dp"
        app:icon="@drawable/icon_tag"
        app:iconGravity="textStart"
        app:iconPadding="@dimen/dp_4"
        app:iconSize="@dimen/dp_12"
        app:iconTintMode="multiply"
        tools:text="测试数据测试数据"/>

1、app:icon="@drawable/ic_camera" 图标
2、app:iconGravity=“textStart” 图标的位置
3、app:iconSize=“24dp” 图标的大小
4、app:iconPadding=“16dp” 图标与文字的距离
5、app:cornerRadius=“40dp” 按钮圆角半径
6、app:iconTint="#0F0" 图标着色
7、app:strokeColor="#0F0" 轮廓的颜色
8、app:strokeWidth=“2dp” 轮廓的线宽
9、app:rippleColor="#00F" 按压水波纹的颜色
10、app:backgroundTint="@color/color_gray" 背景着色
11、app:backgroundTintMode=“add” 着色模式
12、app:iconTintMode=“multiply” 图标着色模式

  • 效果

在这里插入图片描述

  • style配置
<!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="materialButtonStyle">@style/materialButton</item>
    </style>

注意:

 parent="Theme.MaterialComponents.Light.NoActionBar"
<style name="materialButton" parent="Widget.MaterialComponents.Button">
        <item name="android:paddingLeft">8dp</item>
        <item name="android:paddingRight">8dp</item>
        <item name="android:paddingTop">4dp</item>
        <item name="android:paddingBottom">4dp</item>
        <item name="android:inset">0dp</item>
        <item name="android:insetLeft">0dp</item>
        <item name="android:insetRight">0dp</item>
        <item name="android:insetBottom">0dp</item>
        <item name="android:insetTop">0dp</item>
        <item name="android:minWidth">0dp</item>
        <item name="android:minHeight">0dp</item>
        <item name="android:elevation">0dp</item>
    </style>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:Age of Ai 设计师:meimeiellie 返回首页
评论

打赏作者

晓果博客

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值