1). 依赖
implementation "com.android.support:design:28.0.0-alpha3"
2). MaterialButton
<?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
<?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
<?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
<?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 |