1. 效果图

  2. 资源引入

implementation 'com.google.android.material:material:1.4.0'
  1. 属性
Chip 属性 描述
android:id 控件id
style样式属性 系统默认4种
1.@style/Widget.MaterialComponents.Chip.Entry
2.@style/Widget.MaterialComponents.Chip.Choice
3.@style/Widget.MaterialComponents.Chip.Action
4.@style/Widget.MaterialComponents.Chip.Filter
android:layout_width 控件长度
android:layout_height 控件高度
android:text 文本内容
android:textColor 文本颜色
app:chipBackgroundColor 背景颜色
app:chipIcon 文本内容前的icon
app:closeIcon 文本内容后的icon
app:chipIconVisible 文本内容前的icon是否可见
app:closeIconVisible 文本内容后的icon是否可见
app:chipIconSize 文本内容前的icon大小
app:closeIconSize 文本内容后的icon大小
app:checkedIcon 选中时的icon
app:chipIconTint 文本内容前的icon颜色着色器
app:closeIconTint 文本内容后的icon颜色着色器
ChipGroup 属性 描述
android:id 控件id
android:layout_width 控件长度
android:layout_height 控件高度
app:singleSelection 是否单选
app:singleLine 是否单行显示
  1. 源代码
    xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"><com.google.android.material.chip.ChipGroupandroid:id="@+id/chip_group"android:layout_width="wrap_content"android:layout_height="wrap_content"app:singleSelection="false"><com.google.android.material.chip.Chipandroid:id="@+id/chip1"style="@style/Widget.MaterialComponents.Chip.Entry"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="AAA"android:textColor="@color/white"app:chipBackgroundColor="@color/teal_200"app:chipIcon="@drawable/ic_baseline_videocam_24"app:chipIconVisible="true" /><com.google.android.material.chip.Chipandroid:id="@+id/chip2"style="@style/Widget.MaterialComponents.Chip.Entry"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="BBBCCCCCCCC"android:textColor="@color/white"app:chipBackgroundColor="@color/teal_200"app:chipIcon="@drawable/ic_baseline_mic_24"app:closeIconVisible="true" /><com.google.android.material.chip.Chipandroid:id="@+id/chip3"style="@style/Widget.MaterialComponents.Chip.Entry"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="CCC"android:textColor="@color/white"app:chipBackgroundColor="@color/teal_200" /><com.google.android.material.chip.Chipandroid:id="@+id/chip4"style="@style/Widget.MaterialComponents.Chip.Entry"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="DDDDSSSSSSSS"android:textColor="@color/white"app:chipBackgroundColor="@color/teal_200"app:chipIcon="@drawable/ic_baseline_mic_24" /><com.google.android.material.chip.Chipandroid:id="@+id/chip5"style="@style/Widget.MaterialComponents.Chip.Entry"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="EEEASSSSS"android:textColor="@color/white"app:chipBackgroundColor="@color/teal_200"app:chipIcon="@drawable/ic_baseline_mic_24" /><com.google.android.material.chip.Chipandroid:id="@+id/chip6"style="@style/Widget.MaterialComponents.Chip.Entry"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="FFF"android:textColor="@color/white"app:chipBackgroundColor="@color/teal_200" /><com.google.android.material.chip.Chipandroid:id="@+id/chip7"style="@style/Widget.MaterialComponents.Chip.Entry"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="GGGVVVVVV"android:textColor="@color/white"app:chipBackgroundColor="@color/teal_200" /><com.google.android.material.chip.Chipandroid:id="@+id/chip8"style="@style/Widget.MaterialComponents.Chip.Entry"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="GGGAAAAAAAAA"android:textColor="@color/white"app:chipBackgroundColor="@color/teal_200" /></com.google.android.material.chip.ChipGroup><com.google.android.material.bottomnavigation.BottomNavigationViewandroid:id="@+id/bottomNavMenu"android:layout_width="match_parent"android:layout_height="56dp"android:layout_gravity="bottom"app:itemIconSize="25dp"app:itemIconTint="@color/icon_color"app:itemTextColor="@color/text_color"app:labelVisibilityMode="labeled"app:menu="@menu/bottom_menu" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

activity

package com.yyf.demo;import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CompoundButton;
import android.widget.TextView;import com.google.android.material.button.MaterialButtonToggleGroup;
import com.google.android.material.chip.ChipGroup;
import com.google.android.material.navigation.NavigationBarView;
import com.yyf.demo.databinding.ActivityBottomAppBarBinding;import java.util.ArrayList;
import java.util.List;public class BottomAppBar extends AppCompatActivity {private ActivityBottomAppBarBinding binding;private static final String TAG = "BottomAppBar";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);binding = ActivityBottomAppBarBinding.inflate(getLayoutInflater());setContentView(binding.getRoot());binding.bottomNavMenu.setOnItemSelectedListener(new NavigationBarView.OnItemSelectedListener() {@Overridepublic boolean onNavigationItemSelected(@NonNull MenuItem item) {Log.d(TAG, "onNavigationItemSelected: " + item.getTitle());return true;}});//只有当ChipGroup singleSelection=false时 该监听才会正常响应binding.chipGroup.setOnCheckedChangeListener(new ChipGroup.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(ChipGroup group, int checkedId) {Log.d(TAG, "onCheckedChanged: " + checkedId);}});//Chip点击选中事件binding.chip1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {Log.d(TAG, "onCheckedChanged: " + isChecked);}});//文本内容后面的icon点击响应事件binding.chip1.setOnCloseIconClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Log.d(TAG, "onClick: ");}});}
}
  1. 注意事项
    已在activity源码中注释,请留意

Android Material Design之Chip, ChipGroup(十二)相关推荐

  1. Android Material Design Icon Genenerator 插件为个人开发者提供 Icon 图标大全

    前言 如果你作为个人开发者,没有美工小姐姐的情况下,项目中的图标 icon 很是苦恼.之前用过阿里巴巴图标库 Iconfont,后来发现 Android studio 中有一个很牛逼的 icon 插件 ...

  2. Android Material Design 系列之 BottomNavigationView + ViewPager + Fragment + BadgeView 开发详解

    前言 BottomNavigationView 是 Material Design 提供的一个标准底部导航栏的实现,可以轻松的实现导航栏菜单之间的切换与浏览.底部导航使用户更方便的查看和切换最高层级的 ...

  3. 【Android项目实战 | 从零开始写app(十二)】实现app首页智慧服务热门推荐热门主题、新闻

    说在前面,由于各种adapter,xml布局,bean实体类,Activity,也为了让看懂,代码基本都是"简单粗暴直接不好看",没啥okhttp和util工具类之类的封装,本篇幅 ...

  4. Android Material Design按钮样式

    本文翻译自:Android Material Design Button Styles I'm confused on button styles for material design. 我对材质设 ...

  5. Android Material Design :LinearLayoutCompat添加分割线divider

     Android Material Design :LinearLayoutCompat添加分割线divider Android Material Design 扩展支持包中的LinearLayo ...

  6. Android Material Design TabLayout属性app:tabMode和app: tabGravity

    Android Material Design TabLayout属性app:tabMode和app: tabGravity Android Material Design 中的TabLayout有两 ...

  7. android夜间模式揭露动画,Android Material Design系列之夜间模式

    今天我们讲讲夜间模式的实现,这篇文章的名字应该叫:<Android Material Design系列之夜间模式>.在Android 5.0 之后,实现夜间模式并非很难了,支持的5.0库提 ...

  8. Android Material Design按钮样式设计

    Today we'll dive deep into Android Buttons in Material Design and develop an application that showca ...

  9. Android Material Design简单使用 http://www.cnblogs.com/android-blogs/p/5632103.html

    Android Material Design简单使用 吐槽 作为一个 Android developer,没有什么比拿着 UI 设计的一堆 iOS 风格的设计 来做需求更恶心的了,基本所有空间都要照 ...

  10. 视频教程-Android Material Design 新控件-Android

    Android Material Design 新控件 刘志远,北京邮电大学硕士研究生, 北京育华志远科技有限公司创始人, 育华志远教育品牌负责人,育华志远课程体系打造者. 率领团队为互联网行业培训千 ...

最新文章

  1. 服务器怎么设置网站写入权限,如何设置服务器写入权限设置方法
  2. 解决端口 windows10 端口被占用的问题
  3. 深入理解分布式技术 - TCC 事务模型及实战
  4. 安装在电脑上的网络测试软件,iperf3 网络测试工具
  5. 全网最全Linux命令总结!!(史上最全,建议收藏)
  6. 为什么日本德国没有一流互联网企业?
  7. QQ能上网页打不开解决办法
  8. 植物大战僵尸开发公司创始人自述:从0到1亿
  9. 特征选择(模型输入参数的分析选择)方法汇总
  10. PureMVC 游戏框架解析
  11. 【附源码】计算机毕业设计java众筹平台设计与实现
  12. 做每个人的互联网中心
  13. BZOJ 2277 strongbox (gcd)
  14. Excel的金额小写转大写的函数
  15. html 中英文字体自动,用ASP实现中英文字体的自动选择-ASP教程,ASP应用
  16. 软考系统分析师倒计时第7天
  17. Android五子棋小游戏之UI篇
  18. 关于在软件开发过程中建立三道风险防线的想法
  19. 河南中医药大学计算机学院,计算机教学部教师到河南中医药大学信息技术学院学习考察专业建设...
  20. 最简快捷输入序号①②③的方法

热门文章

  1. 基于java的springboot框架医护人员排班系统
  2. 《银行法律法规》三、银行管理——1、银行管理基础
  3. 高性能mysql之前缀索引
  4. Python期末程序设计项目
  5. 短期经济波动:均衡国民收入决定理论(二)
  6. 43:RabbitMQ四大类型的交换机持久化
  7. Python——解决小球从100米高度自由落下再反弹问题
  8. “边缘计算” 微信红包来啦!
  9. 机器学习模型解决互为因果_学习因果模型
  10. Mac OS:PC安装Mac OS X Lion记录