直播软件搭建,LabelList标签选择器

直播软件搭建,LabelList标签选择器

1
import android.content.Context;<br>import android.content.res.ColorStateList;<br>import android.content.res.TypedArray;<br>import android.graphics.Color;<br>import android.graphics.drawable.ColorDrawable;<br>import android.graphics.drawable.Drawable;<br>import android.os.Bundle;<br>import android.os.Parcelable;<br>import android.util.AttributeSet;<br>import android.util.TypedValue;<br>import android.view.View;<br>import android.view.ViewGroup;<br>import android.widget.TextView;<br> <br>import java.util.ArrayList;<br>import java.util.List;<br> <br>/**<br> * 标签列表<br> */<br>public class LabelList extends ViewGroup implements View.OnClickListener {<br> <br>    private Context mContext;<br>    private ColorStateList mTextColor;<br>    private float mTextSize;<br>    private Drawable mLabelBg;<br>    private int mTextPaddingLeft;<br>    private int mTextPaddingTop;<br>    private int mTextPaddingRight;<br>    private int mTextPaddingBottom;<br>    private int mWordMargin;<br>    private int mLineMargin;<br>    private SelectType mSelectType;<br>    private int mMaxSelect;<br>    private int mMaxLines;<br> <br>    //用于保存label数据的key<br>    private static final int KEY_DATA = R.id.tag_key_data;<br>    //用于保存label位置的key<br>    private static final int KEY_POSITION = R.id.tag_key_position;<br> <br>    private ArrayList<Object> mLabels = new ArrayList<>();<br>    //保存选中的label的位置<br>    private ArrayList<Integer> mSelectLabels = new ArrayList<>();<br> <br>    //保存必选项。在多选模式下,可以设置必选项,必选项默认选中,不能反选<br>    private ArrayList<Integer> mCompulsorys = new ArrayList<>();<br> <br>    private OnLabelClickListener mLabelClickListener;<br>    private OnLabelSelectChangeListener mLabelSelectChangeListener;<br> <br>    /**<br>     * Label的选择类型<br>     */<br>    public enum SelectType {<br>        //不可选中,也不响应选中事件回调。(默认)<br>        NONE(1),<br>        //单选,可以反选。<br>        SINGLE(2),<br>        //单选,不可以反选。这种模式下,至少有一个是选中的,默认是第一个<br>        SINGLE_IRREVOCABLY(3),<br>        //多选<br>        MULTI(4);<br> <br>        int value;<br> <br>        SelectType(int value) {<br>            this.value = value;<br>        }<br> <br>        static SelectType get(int value) {<br>            switch (value) {<br>                case 1:<br>                    return NONE;<br>                case 2:<br>                    return SINGLE;<br>                case 3:<br>                    return SINGLE_IRREVOCABLY;<br>                case 4:<br>                    return MULTI;<br>            }<br>            return NONE;<br>        }<br>    } 

​以上就是 直播软件搭建,LabelList标签选择器,更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2022-10-17 直播商城系统源码,实现最简单最基本的轮播图样式
2022-10-17 直播源码开发,使用 NProgress 进度条
2022-10-17 直播带货源码,HTML + jQuery 实现轮播图
点击右上角即可分享
微信分享提示