当前位置:   article > 正文

Android UI开发——Material Design界面设计风格_material 风格的andoird设计

material 风格的andoird设计
添加依赖:
implementation 'com.android.support:design:30.0.3'

使用:

  1. <com.google.android.material.button.MaterialButton
  2. android:layout_width="match_parent"
  3. android:layout_height="50dp"
  4. android:gravity="center"
  5. android:insetLeft="50dp"
  6. android:insetTop="5dp"
  7. android:insetRight="50dp"
  8. android:insetBottom="5dp"
  9. android:text="确认办理"
  10. android:textColor="#ffffffff"
  11. app:strokeColor="#000000"
  12. app:strokeWidth="2dp"
  13. android:textSize="24sp"
  14. android:theme="@style/Theme.MaterialComponents.Light.DarkActionBar"
  15. android:visibility="visible"
  16. app:backgroundTint="#FFA54C" />

MaterialButton继承AppCompatButton,在原来Button的基础上做了一些扩展,如圆角、描边、前置和后置icon(icon支持设置Size、Tint、Padding、Gravity等),还支持按压水波纹并且设置color,基本能满足日常的需求。

公开属性如下:

  1. 属性    描述
  2. app:backgroundTint     背景着色
  3. app:backgroundTintMode     着色模式
  4. app:strokeColor    描边颜色
  5. app:strokeWidth    描边宽度
  6. app:cornerRadius    圆角大小
  7. app:rippleColor     按压水波纹颜色
  8. app:icon    图标icon
  9. app:iconSize     图标大小
  10. app:iconGravity    图标重心
  11. app:iconTint    图标着色
  12. app:iconTintMode    图标着色模式
  13. app:iconPadding    图标和文本之间的间距


关于background
在1.2版本以前,MaterialButton只能通过app:backgroundTint属性设置背景色,该属性接收color state list。不能通过android:background设置自定义drawable。
1.2版本后,官方已修复此问题。如果未设置自定义背景,则 MaterialShapeDrawable 仍将用作默认背景。
也就是说,如果按钮背景是纯色,可以通过app:backgroundTint指定;如果按钮背景是渐变色,则需要自己定义drawable,然后通过android:background设置。
注意:如果要使用android:background设置背景,则需要将backgroundTint设置为@empty,否则background不会生效。
 

  1. <com.google.android.material.button.MaterialButton
  2. android:background=”@drawable/custom_background”
  3. app:backgroundTint=”@empty” />

指定@empty后,Android Studio会出现红色警告,可以正常运行,忽略就好。不过既然已经自定义drawable,就没必要使用MaterialButton,直接用普通的Button甚至用TextView就好了。

关于阴影:

MD组件默认都是自带阴影的,MaterialButton也不例外。但是有时候我们并不想要按钮有阴影,那么这时候可以指定style为
style="@style/Widget.MaterialComponents.Button.UnelevatedButton",这样就能去掉阴影,让视图看起来扁平化。

关于theme


在MDC1.1.0以后,使用MaterialButton可能会出现闪退的问题,原因就是使用了MD控件,但是未将them设置为MaterialComponents。解决方法可以有几种:

先在style.xml自定义MaterialComponents_Theme

  1. <style name="MaterialComponents_Theme" parent="Theme.MaterialComponents.Light.NoActionBar">
  2. <!-- Customize your theme here. -->
  3. ...
  4. </style>

方法一:
AndroidManifest里application节点下配置,作用域为整个应用

  1. <application
  2. ...
  3. android:theme="@style/MaterialComponents_Theme"

方法二:
只在当前activity配置,作用域为当前activity

  1. <activity
  2. ...
  3. android:theme="@style/MaterialComponents_Theme"

方法三:
为每个在使用到MD控件的地方配置,作用域只针对当前控件

  1. <com.google.android.material.button.MaterialButton
  2. ...
  3. android:theme="@style/Theme.MaterialComponents.Light.NoActionBar" />

参考地址:

https://blog.csdn.net/magic0908/article/details/101029876

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/97744
推荐阅读
相关标签
  

闽ICP备14008679号