仿网易新闻app下拉标签选择菜单

项目介绍:
仿网易新闻app下拉标签选择菜单,长按拖动排序,点击增删标签控件

示例 [图片上传失败...(image-1dcd8-1551168158914)]

EasyTagDragView的使用

在layout布局里添加:[Java] 查看源文件 复制代码

<com.wenhuaijun.easytagdragview.easytipdragview 
android:id="@+id/easy_tip_drag_view"
android:background="@android:color/white"
android:layout_width="match_parent"
android:layout_gravity="center"
android:layout_height="match_parent"></com.wenhuaijun.easytagdragview.easytipdragview>

在java代码中: 给EasyTagDragView添加标签数据,包括已添加的标签数据和可添加的标签数据。 添加的数据bean需继承SimpleTitleTip类,可自由增加成员属性。如没特殊需求,可直接使用提供的SimpleTitleTip类。 注意每个tip的id必须唯一,不然拖拽会有bug [Java] *


//设置已添加的的标签数据
easyTipDragView.setDragData(TipDataModel.getDragTips());

//设置可以添加的标签数据
easyTipDragView.setAddData(TipDataModel.getAddTips());

//显示EasyTagDragView
easyTipDragView.open();

//在easyTipDragView处于非编辑模式下点击item的回调(编辑模式下点击item作用为删item)

easyTipDragView.setSelectedListener(new TipItemView.OnSelectedListener() {

@Override
public void onTileSelected(Tip entity,int position, View view) {
        
toast(((SimpleTitleTip) entity).getTip());  
}
});

 
//设置每次数据改变后的回调(例如每次拖拽排序了标签或者增删了标签都会回调)
easyTipDragView.setDataResultCallback(
new
EasyTipDragView.OnDataChangeResultCallback() {
  
@Override
public void onDataChangeResult(ArrayList<tip> tips) {
        
Log.i("heheda", tips.toString());   
}

});
 
//设置点击“确定”按钮后最终数据的回调

easyTipDragView.setOnCompleteCallback(new EasyTipDragView.OnCompleteCallback() {

@Override
   
public void onComplete(ArrayList<tip> tips) {
        
toast("最终数据:"+ tips.toString());    
}

});
注:当已经显示EasyTagDragView的时候,需监听返回键,    在编辑模式下点击返回键取消编辑模式。非编辑模式下则关闭EasyTagDragView        [Java] *查看源文件* *复制代码*

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

switch(keyCode){
      
//点击返回键        
case
KeyEvent.KEYCODE_BACK:
          
//判断easyTipDragView是否已经显示出来          
if(easyTipDragView.isOpen()){              
if(!easyTipDragView.onKeyBackDown()){
             
btn.setVisibility(View.VISIBLE);
//自己的业务逻辑                
}
                
return true;            
}
            
//....自己的业务逻辑
            
break;    
}
   
return super.onKeyDown(keyCode, event);
}

后期增加更多自定义属性和一些API,将View放入popupWindow,增加过渡动画

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,273评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,874评论 18 399
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,005评论 6 342
  • 你开了一个大玩笑,就在那年的愚人节。从此,这个西方最搞笑的节日变成了你的清明时节…… —觅雅 随笔
    觅雅斋阅读 231评论 0 0
  • 11月22-28日,第四周,有5天达标。 绕脚腕每天100下。
    若水柳柳柳阅读 147评论 0 0