在Android开发中,我们经常使用列表控件,而有时候列表控件条目中又会是多条目数据,这时候,我们无法确定每个条目的数据多少,而为了美观,我们就希望条目统一高度,多数据的条目能够进行折叠,展开。今天,就为大家介绍一个这样的自定义控件ExpandView。
效果演示图
演示图
Android工作室集成方式
依赖关系{ 编译的1.0.4 com.wkp: ExpandView://Android Studio3.0 +可用以下方式//实现的1.0.4 com.wkp: ExpandView: }
使用详解
1。属性讲解
& lt; !——每行字段数——比; & lt; attr name==罢?皐kp_column”格式比; & lt; !——最少显示行数——比; & lt; attr name==罢?皐kp_rowMin”格式比; & lt; !——条目间距——比; & lt; attr=name=" wkp_space "格式"维度"/比; & lt; !——条目动画时长,0为无动画——比; & lt; attr name==罢?皐kp_itemDuration”格式比; & lt; !——条目高度——比; & lt; attr=name=" wkp_itemHeight "格式"维度"/比; & lt; !——”更多”按钮图片——比; & lt; attr name==安慰肌?皐kp_moreButtonImg”格式比; & lt; !——”更多”按钮文本——比; & lt; attr name==白址?皐kp_moreButtonText”格式比; & lt; !——显示文本模式时的条目背景色——比; & lt; attr name==把丈?皐kp_textBgColor”格式比; & lt; !——显示文本模式时的条目文本颜色——比; & lt; attr name==把丈?皐kp_textColor”格式比; & lt; !——显示文本模式时的文本大小——比; & lt; attr=name=" wkp_textSize "格式"维度"/比; & lt; !——显示文本模式时的条目背景图——比; & lt; attr name==安慰肌?皐kp_textBgRes”格式比; >之前2。布局示例
图1布局
& lt; com.wkp.expandview_lib.view.ExpandView 应用:wkp_textSize=" @dimen/size_16sp” 应用:wkp_column=?” 应用:wkp_rowMin=?” 应用:wkp_itemHeight=" 120 dp” 应用:wkp_textBgRes=" @drawable/text_bg” android: id=癅 + id/电动汽车” android: layout_width=" match_parent " android: layout_height=皐rap_content”比; & lt;/com.wkp.expandview_lib.view.ExpandView> >之前,图2布局
& lt; com.wkp.expandview_lib.view.ExpandView 应用:wkp_textSize=" @dimen/size_16sp” 应用:wkp_column=" 4 " 应用:wkp_rowMin=?” 应用:wkp_itemHeight=" 120 dp” 应用:wkp_textBgRes=" @drawable/text_bg” android: id=癅 + id/电动汽车” android: layout_width=" match_parent " android: layout_height=皐rap_content”比; & lt;/com.wkp.expandview_lib.view.ExpandView> >之前3。代码示例
公开课MainActivity延伸AppCompatActivity { 私有静态最终String[]项={"雨水滴在我的外套”,“已找到”,“每分每秒”,“来啊,互相伤害啊”,“等你到天涯海角”,“遇见了你才知道你对我多重要”, “123”、“456”、“789”、“abc”,“def”、“收起"}; 私有静态最终String [] items1={"雨水滴在我的外套1”,“已找到1”,“每分每秒1”,“来啊,互相伤害啊1”,“等你到天涯海角1”,“遇见了你才知道你对我多重要1”, “123”、“456”、“789”,“他们”,“def1”、“收起1 "}; @Override 保护无效onCreate(包savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); 最后ExpandView ExpandView=(ExpandView) findViewById (R.id.ev);//设置数据 expandView.setTextItems(项目);//测试当在列表视图中条目复用问题 expandView.setTextItems (items1);//测试未展开下调用收起的效果 expandView.packUpItems ();//条目点击监听 expandView。setOnItemClickListener(新ExpandView.OnItemClickListener () { @Override 公共空间onItemClick(查看视图,ViewGroup家长,int位置){ 如果(位置==物品。长度- 1){//收起隐藏条目 expandView.packUpItems (); } } }); } }Android更多条目收缩展开控件ExpandView的示例代码