直播软件搭建,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标签选择器,更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2022-10-17 直播商城系统源码,实现最简单最基本的轮播图样式
2022-10-17 直播源码开发,使用 NProgress 进度条
2022-10-17 直播带货源码,HTML + jQuery 实现轮播图