Android自定义控件抽屉组件

一种抽屉式的ListView动画,基本原理是通过ListView集成的

效果图:

1521507576187mzlist.gif

基本思路:使用LayoutParams改变大小

详情请看:https://www.jianshu.com/p/77a4ab643b8b

代码使用方法:

    xhList = findViewById(R.id.xhList);

        for (int i = 0; i < 50; i++) {
            arrayList.add(i + "");
        }

        xhList.setXHAdapter(new XHBaseAdapter<String>(arrayList) {
            @Override
            public XHViewHolder getXHViewHolder() {
                View inflate = View.inflate(MainActivity.this, R.layout.test_2, null);
                xhLineChar = inflate.findViewById(R.id.xhchar);
                xhLineChar.setMaxTable(10.5f);
                xhLineChar.setMinTable(-8.5f);

                ArrayList<XHData> xhData = new ArrayList<>();

        /*xhData.add(new XHData(20,0));
        xhData.add(new XHData(50,80));
        xhData.add(new XHData(60,30));
        xhData.add(new XHData(80,26));
        xhData.add(new XHData(17,26));
        xhData.add(new XHData(80,65));
        xhData.add(new XHData(26,74));
        xhData.add(new XHData(20,86));*/


                xhData.add(new XHData(true,5.6f,"2018/12-12"));
                xhData.add(new XHData(true,9.5f,"2018/12-12"));
                xhData.add(new XHData(true,8.5f,"2018/12-12"));
                xhData.add(new XHData(true,10.5f,"2018/12-12"));
                xhData.add(new XHData(true,7.5f,"2018/12-12"));
                xhData.add(new XHData(true,6.5f,"2018/12-12"));
                xhData.add(new XHData(true,-6.5f,"2018/12-12/15"));
                xhData.add(new XHData(true,5.6f,"2018/12-12"));
                xhData.add(new XHData(true,9.5f,"2018/12-12"));
                xhData.add(new XHData(true,8.5f,"2018/12-12"));
                xhData.add(new XHData(true,10.5f,"2018/12-12"));
                xhData.add(new XHData(true,7.5f,"2018/12-12"));
                xhData.add(new XHData(true,6.5f,"2018/12-12"));
                xhData.add(new XHData(true,-6.5f,"2018/12-12/15"));
                xhData.add(new XHData(true,5.6f,"2018/12-12"));
                xhData.add(new XHData(true,9.5f,"2018/12-12"));
                xhData.add(new XHData(true,8.5f,"2018/12-12"));
                xhData.add(new XHData(true,10.5f,"2018/12-12"));
                xhData.add(new XHData(true,7.5f,"2018/12-12"));
                xhData.add(new XHData(true,6.5f,"2018/12-12"));
                xhData.add(new XHData(true,-6.5f,"2018/12-12/15"));
                xhLineChar.setLineHOrLineW(2.0f,10.0f);
                xhLineChar.setDataArray(xhData);
                return new MyXhViewHolder(View.inflate(MainActivity.this,R.layout.test_layout,null)/*第一个View*/,inflate/*第二个View*/);
            }

            @Override
            public void initView(int position, XHViewHolder xhViewHolder, String o) {

                MyXhViewHolder myXhViewHolder = (MyXhViewHolder) xhViewHolder;
                myXhViewHolder.textView.setText(o);

            }
        });
    }

    class MyXhViewHolder extends XHViewHolder{


        public TextView textView;
        public MyXhViewHolder(View view,View view2) {
            super(view,view2);
            textView = (TextView) findViewById(R.id.textView);
        }
    }

github:https://github.com/hanxinhao000/ListViewAnim

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,235评论 25 709
  • 四大名著中也就西游记最常被恶搞,这也足以见得大家对西游记的喜爱,耳熟能详。 从最开始的剧情,到最后整个人物形象的颠...
    进光吧阅读 3,468评论 0 1
  • 文 | 一鸣 1. 当我意识到自己是一个小说中的人物角色之时,我正经历着非常诡异的事情。 我向来不觉得私见网友是...
    一鸣阅读 8,384评论 84 129
  • 自小弟被送到少林寺以后我与他已长时间未见,此番若不是家族有难,我亦被追踪,也无需他下山。 自我逃到四伯的地盘后我便...
    墨黎初心阅读 1,634评论 0 0
  • 财富没有突然不劳而获的,来自于气运,劳动,以及日常的积累。 所以这次我才会拒绝,对于父亲来说是不要白不要。但对我,...
    瞿桂林阅读 40评论 0 0

友情链接更多精彩内容