Android 多选单选标签实现

本文展示了如何在Android项目中实现多选和单选标签的效果。使用了谷歌提供的库,需要注意1.1.0及以上版本需配合AndroidX。若未迁移至AndroidX,建议使用1.0.0版本。提供了关键代码片段,并提供了GitHub链接以查看完整代码。
摘要由CSDN通过智能技术生成

在这里插入图片描述
先看效果图,项目中要实现展示得效果,使用的谷歌,要使用1.0.0,高版本是用于AndroidX
官方解释:
Note that starting from 1.1.0, the library is expected to use with AndroidX. Please migrate to AndroidX if you use 1.1.0 or above.

Please use 1.0.0 if you haven’t migrated to AndroidX.

implementation 'com.google.android:flexbox:1.0.0'

主要代码

package com.zfg.test.weigt;

import android.content.Context;
import android.content.res.TypedArray;
import android.util.AttributeSet;

import com.google.android.flexbox.FlexboxLayout;
import com.zfg.test.R;
import com.zfg.test.adapter.TagAdapter;

/**
 * author : zfg
 * e-mail : zfg_android@163.com
 * date   : 2019/7/16
 * desc   : 标签
 */
public class TagFlowLayout extends FlexboxLayout {
   

    /*是否展示选中效果*/
    private boolean isShowHighlight = true;
    /*默认和已选的背景*/
    private int itemDefaultDrawable;
    private int itemSelectDrawable;
    /*默认和已选的文字颜色*/
    private int itemDefaultTextColor;
    private int itemSelectTextColor;
    /*操作模式 0 - 多选 | 1 - 单选 | 2 - 纯展示*/
    private int mode = MODE_MULTI_SELECT;
    /*可选标签的最大数量*/
    private int maxSelection;
    public static final int MODE_MULTI_SELECT = 0;
    public static final int MODE_SINGLE_SELECT = 1;
    public static final int MODE_SHOW_SELECT = 2;

    public TagFlowLayout(Context context) {
   
        this(context, null);
    }

    public TagFlowLayout(Context context, AttributeSet attrs) {
   
        this(context, attrs, 0);
    }

    public TagFlowLayout(Context context, AttributeSet attrs, int defStyleAttr) {
   
        
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值