Android Material Design之Chip, ChipGroup(十二)
效果图
资源引入
implementation 'com.google.android.material:material:1.4.0'
- 属性
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 | 是否单行显示 |
- 源代码
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: ");}});}
}
- 注意事项
已在activity源码中注释,请留意
Android Material Design之Chip, ChipGroup(十二)相关推荐
- Android Material Design Icon Genenerator 插件为个人开发者提供 Icon 图标大全
前言 如果你作为个人开发者,没有美工小姐姐的情况下,项目中的图标 icon 很是苦恼.之前用过阿里巴巴图标库 Iconfont,后来发现 Android studio 中有一个很牛逼的 icon 插件 ...
- Android Material Design 系列之 BottomNavigationView + ViewPager + Fragment + BadgeView 开发详解
前言 BottomNavigationView 是 Material Design 提供的一个标准底部导航栏的实现,可以轻松的实现导航栏菜单之间的切换与浏览.底部导航使用户更方便的查看和切换最高层级的 ...
- 【Android项目实战 | 从零开始写app(十二)】实现app首页智慧服务热门推荐热门主题、新闻
说在前面,由于各种adapter,xml布局,bean实体类,Activity,也为了让看懂,代码基本都是"简单粗暴直接不好看",没啥okhttp和util工具类之类的封装,本篇幅 ...
- Android Material Design按钮样式
本文翻译自:Android Material Design Button Styles I'm confused on button styles for material design. 我对材质设 ...
- Android Material Design :LinearLayoutCompat添加分割线divider
Android Material Design :LinearLayoutCompat添加分割线divider Android Material Design 扩展支持包中的LinearLayo ...
- Android Material Design TabLayout属性app:tabMode和app: tabGravity
Android Material Design TabLayout属性app:tabMode和app: tabGravity Android Material Design 中的TabLayout有两 ...
- android夜间模式揭露动画,Android Material Design系列之夜间模式
今天我们讲讲夜间模式的实现,这篇文章的名字应该叫:<Android Material Design系列之夜间模式>.在Android 5.0 之后,实现夜间模式并非很难了,支持的5.0库提 ...
- Android Material Design按钮样式设计
Today we'll dive deep into Android Buttons in Material Design and develop an application that showca ...
- Android Material Design简单使用 http://www.cnblogs.com/android-blogs/p/5632103.html
Android Material Design简单使用 吐槽 作为一个 Android developer,没有什么比拿着 UI 设计的一堆 iOS 风格的设计 来做需求更恶心的了,基本所有空间都要照 ...
- 视频教程-Android Material Design 新控件-Android
Android Material Design 新控件 刘志远,北京邮电大学硕士研究生, 北京育华志远科技有限公司创始人, 育华志远教育品牌负责人,育华志远课程体系打造者. 率领团队为互联网行业培训千 ...
最新文章
- 服务器怎么设置网站写入权限,如何设置服务器写入权限设置方法
- 解决端口 windows10 端口被占用的问题
- 深入理解分布式技术 - TCC 事务模型及实战
- 安装在电脑上的网络测试软件,iperf3 网络测试工具
- 全网最全Linux命令总结!!(史上最全,建议收藏)
- 为什么日本德国没有一流互联网企业?
- QQ能上网页打不开解决办法
- 植物大战僵尸开发公司创始人自述:从0到1亿
- 特征选择(模型输入参数的分析选择)方法汇总
- PureMVC 游戏框架解析
- 【附源码】计算机毕业设计java众筹平台设计与实现
- 做每个人的互联网中心
- BZOJ 2277 strongbox (gcd)
- Excel的金额小写转大写的函数
- html 中英文字体自动,用ASP实现中英文字体的自动选择-ASP教程,ASP应用
- 软考系统分析师倒计时第7天
- Android五子棋小游戏之UI篇
- 关于在软件开发过程中建立三道风险防线的想法
- 河南中医药大学计算机学院,计算机教学部教师到河南中医药大学信息技术学院学习考察专业建设...
- 最简快捷输入序号①②③的方法