Android Design Support Library v28

简介: 1). 依赖 implementation "com.android.support:design:28.0.0-alpha3"2). MaterialButton图1.
1). 依赖
  implementation "com.android.support:design:28.0.0-alpha3"
2). MaterialButton
img_39add1ad36dfd76686a9b6ff44847917.png
图1.png
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#DDD"
    tools:context="com.mazaiting.testdemo.design.MaterialButtonActivity">

  <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:orientation="vertical">
    <!--MaterialButton必须设置textAppearance属性-->
    <android.support.design.button.MaterialButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Material Button"
        android:textAllCaps="false"
        android:textAppearance="?android:attr/textAppearanceLargeInverse"
        app:rippleColor="#FF8888"
        />

    <android.support.design.button.MaterialButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:backgroundTint="@color/colorPrimary"
        android:gravity="center"
        android:text="Material Button"
        android:textAllCaps="false"
        android:textAppearance="?android:attr/textAppearanceLargeInverse"
        />

    <android.support.design.button.MaterialButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Material Button"
        android:textAllCaps="false"
        android:textAppearance="?android:attr/textAppearanceLargeInverse"
        app:cornerRadius="10dp"
        />

    <android.support.design.button.MaterialButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:gravity="center"
        android:text="Material Button"
        android:textAllCaps="false"
        android:textAppearance="?android:attr/textAppearanceLargeInverse"
        app:icon="@mipmap/ic_launcher"
        app:iconSize="30dp"
        />

    <android.support.design.button.MaterialButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:gravity="center"
        android:text="Material Button"
        android:textAllCaps="false"
        android:textAppearance="?android:attr/textAppearanceLargeInverse"
        app:icon="@mipmap/ic_launcher"
        app:iconSize="30dp"
        app:iconTint="@color/colorPrimary"
        />

    <android.support.design.button.MaterialButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:gravity="center"
        android:text="Material Button"
        android:textAllCaps="false"
        android:textAppearance="?android:attr/textAppearanceLargeInverse"
        app:icon="@mipmap/ic_launcher"
        app:iconSize="30dp"
        app:iconTint="@color/colorPrimary"
        app:strokeColor="@color/colorPrimaryDark"
        app:strokeWidth="2dp"
        />
  </LinearLayout>

</android.support.constraint.ConstraintLayout>

注:MaterialButton必须设置textAppearance属性
MaterialButton属性:

属性 介绍
app:backgroundTint 按钮背景着色
app:backgroundTintMode 按钮背景的着色模式
app:icon 按钮图标(在文字左边,不能设置位置)
app:iconSize 按钮图标大小
app:iconPadding 按钮图标的内边距
app:iconTint 按钮图标着色
app:iconTintMode 按钮图标的着色模式
app:additionalPaddingStartForIcon 按钮图标的左内边距
app:additionalPaddingEndForIcon 按钮图标的右内边距
app:strokeColor 按钮边框颜色
app:strokeWidth 按钮边框宽度
app:cornerRadius 按钮圆角角度
app:rippleColor 按钮点击水波纹效果颜色
3). Chip
img_8f2cace6a7c30aa51f0f24651bc1c67f.png
图2.png
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#DDD"
    tools:context="com.mazaiting.testdemo.design.ChipActivity">

  <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:gravity="center"
      android:orientation="vertical">

    <android.support.design.chip.ChipGroup
        android:id="@+id/chip_group"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        app:chipSpacing="10dp"
        app:singleSelection="false">

      <android.support.design.chip.Chip
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:checkable="true"
          android:clickable="true"
          android:focusable="true"
          android:text="Chip"
          android:textAllCaps="false"/>

      <android.support.design.chip.Chip
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:clickable="true"
          android:focusable="true"
          android:text="水波纹颜色"
          android:textAllCaps="false"
          app:rippleColor="@color/colorAccent"/>

      <android.support.design.chip.Chip
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:checkable="true"
          android:clickable="true"
          android:focusable="true"
          android:text="图标"
          android:textAllCaps="false"
          app:chipIcon="@mipmap/ic_launcher"
          app:chipIconEnabled="true"
          app:chipIconSize="20dp"
          app:iconStartPadding="5dp"
          />

      <android.support.design.chip.Chip
          android:id="@+id/chip_close"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:checkable="true"
          android:clickable="true"
          android:focusable="true"
          android:text="删除按钮"
          android:textAllCaps="false"
          app:closeIconEnabled="true"/>

      <android.support.design.chip.Chip
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:checkable="true"
          android:clickable="true"
          android:focusable="true"
          android:text="背景"
          android:textAllCaps="false"
          app:chipBackgroundColor="@color/colorAccent"/>

      <android.support.design.chip.Chip
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:checkable="true"
          android:clickable="true"
          android:focusable="true"
          android:text="边框"
          android:textAllCaps="false"
          app:chipStrokeColor="@color/colorAccent"
          app:chipStrokeWidth="2dp"/>

      <android.support.design.chip.Chip
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:checkable="true"
          android:clickable="true"
          android:text="圆角角度"
          android:textAllCaps="false"
          app:chipCornerRadius="10dp"
          android:focusable="true"/>
    </android.support.design.chip.ChipGroup>

  </LinearLayout>
</android.support.constraint.ConstraintLayout>

ChipGroup属性:

属性 介绍
app:chipSpacing Chip在水平&垂直方向的间距
app:chipSpacingHorizontal Chip在水平方向的间距
app:chipSpacingVertical Chip在垂直方向的间距
app:singleLine 是否单行显示Chip,默认为false
app:singleSelection 是否为单选模式,默认为false

Chip属性:

属性 介绍
app:chipBackgroundColor Chip背景颜色
app:chipCornerRadius Chip圆角角度
app:chipStrokeColor Chip边框颜色
app:chipStrokeWidth Chip边框宽度
app:rippleColor Chip点击水波纹效果颜色
app:chipIconEnabled 是否在Chip上显示图标,默认为true
app:chipIcon Chip图标(在文字左边,不能设置位置)
app:chipIconSize Chip图标大小
app:closeIconEnabled 是否显示Chip关闭按钮,默认为false
app:closeIcon Chip关闭按钮图标
app:closeIconTint Chip关闭按钮着色
app:closeIconSize Chip关闭按钮大小
app:checkedIconEnabled 是否显示Chip选中图标,默认为true
app:checkedIcon Chip选中图标
app:chipStartPadding Chip左内边距
app:chipEndPadding Chip右内边距
app:iconStartPadding Chip图标左内边距
app:iconEndPadding Chip图标右内边距
app:textStartPadding Chip文字左内边距
app:textEndPadding Chip文字右内边距
app:closeIconStartPadding Chip关闭图标左内边距
app:closeIconEndPadding Chip关闭图标右内边距
4). MaterialCardView
img_d0e40f0087812f5cce806a79f5ce96e1.png
图3.png
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#DDD"
    tools:context="com.mazaiting.testdemo.design.MaterialCardViewActivity">

  <LinearLayout
      android:gravity="center"
      android:orientation="vertical"
      android:layout_width="match_parent"
      android:layout_height="match_parent">

    <android.support.design.card.MaterialCardView
        android:layout_margin="20dp"
        app:cardBackgroundColor="@color/colorAccent"
        android:layout_width="match_parent"
        android:layout_height="100dp">
      <TextView
          android:layout_gravity="center"
          android:text="Material CardView"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"/>
    </android.support.design.card.MaterialCardView>

    <android.support.design.card.MaterialCardView
        android:layout_margin="20dp"
        app:cardCornerRadius="10dp"
        app:cardElevation="5dp"
        android:layout_width="match_parent"
        android:layout_height="100dp">
      <TextView
          android:layout_gravity="center"
          android:text="Material CardView"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"/>
    </android.support.design.card.MaterialCardView>

    <android.support.design.card.MaterialCardView
        android:layout_margin="20dp"
        app:strokeColor="@color/colorAccent"
        app:strokeWidth="5dp"
        android:layout_width="match_parent"
        android:layout_height="100dp">
      <TextView
          android:text="Material CardView"
          android:layout_gravity="center"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"/>
    </android.support.design.card.MaterialCardView>
  </LinearLayout>
</android.support.constraint.ConstraintLayout>

MaterialCardView属性:

属性 介绍
app:strokeColor MaterialCardView边框颜色
app:strokeWidth MaterialCardView边框宽度
5). BottomAppBar
img_82e7fdbe03cc17f9b003be4abcad6935.png
图4.png
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.mazaiting.testdemo.design.BottomAppBarActivity">

  <android.support.design.widget.CoordinatorLayout
      android:layout_width="match_parent"
      android:layout_height="match_parent">
    <android.support.design.widget.FloatingActionButton
        android:src="@mipmap/ic_launcher"
        app:fabSize="normal"
        app:layout_anchor="@id/bottom_app_bar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    <android.support.design.bottomappbar.BottomAppBar
        android:id="@+id/bottom_app_bar"
        android:layout_gravity="bottom"
        app:backgroundTint="@color/colorPrimary"
        app:fabAlignmentMode="end"
        app:fabAttached="true"
        android:layout_width="match_parent"
        android:layout_height="50dp"/>
  </android.support.design.widget.CoordinatorLayout>
</android.support.constraint.ConstraintLayout>

BottomAppBar属性:

属性 介绍
app:backgroundTint BottomAppBar背景着色
app:fabAlignmentMode FAB位置(居中或居右),默认为居右
app:fabAttached 是否绑定FAB,默认为true
app:fabCradleMargin BottomAppBar与FAB的距离,默认为5dp
app:fabCradleRoundedCornerRadius BottomAppBar与FAB相邻处的圆角角度,默认为8dp
app:fabCradleVerticalOffset FAB在BottomAppBar中的垂直偏移量,默认为0dp

代码下载

目录
相关文章
|
3月前
|
存储 Java 数据库
Android数据存储:什么是Room Persistence Library?
Android数据存储:什么是Room Persistence Library?
41 0
|
Android开发
IDEA编译gradle提示This version of the Android Support plugin for IntelliJ IDEA (or Android Studio) cannot open this project, please retry with version 2020.3.1 or newer.
IDEA编译gradle提示This version of the Android Support plugin for IntelliJ IDEA (or Android Studio) cannot open this project, please retry with version 2020.3.1 or newer.
652 1
|
11月前
|
XML Java 开发工具
Android5.0新特性-Material Design
Android5.0新特性-Material Design
60 0
|
11月前
|
Android开发 开发者 UED
Android Design Support Library初探-更新中
Android Design Support Library初探-更新中
72 0
|
Android开发
Unrecognized Android Studio (or Android Support plugin for IntelliJ IDEA) version ‘202.7660.26.42.74
Unrecognized Android Studio (or Android Support plugin for IntelliJ IDEA) version ‘202.7660.26.42.74
204 0
Unrecognized Android Studio (or Android Support plugin for IntelliJ IDEA) version ‘202.7660.26.42.74
|
开发工具 Android开发
Android Support Design Library之FloatingActionButton(二)
Android Support Design Library之FloatingActionButton(二)
60 0
Android Support Design Library之FloatingActionButton(二)
|
Android开发
Android Support Design Library之FloatingActionButton(一)
Android Support Design Library之FloatingActionButton(一)
61 0
Android Support Design Library之FloatingActionButton(一)
|
Android开发 API
Android Design Support Library使用详解——Snackbar
Google在2015 I/O大会上,给我们带来了更加详细的Material Design规范,同时也引入了Android Design Support Library,为我们提供了基于Material设计规范的控件。
1094 0
|
API Android开发 容器
Android Design Support Library使用详解
Android Design Support Library使用详解 Google在2015的IO大会上,给我们带来了更加详细的Material Design设计规范,同时,也给我们带来了全新的Android Design Support Library,在这个support库里面,Google给我们提供了更加规范的MD设计风格的控件。
838 0
|
2天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
22 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库