《Android APP可能有的东西》之UI篇:流式标签&搜索历史

说在前面

很多APP都有热门排行热门搜索什么的,这个时候可能需要用到标签,也就是流式布局,而还有可能用到的就是搜索历史记录,这种一般都是使用listview展示。但是,相当有可能是反过来的UI展示效果,热门排行用listview,历史记录使用流式标签。所以这里给出相结合的Demo实例以及说明。

上代码!FlowLayout-SearchHistory

FlowLayout流式标签

使用了继承至ViewGroup的自定义控件,数据载入方式为String数组。此自定义控件可以直接使用。


private void initData() {
        for (int i = 0; i < datas.length; i++) {
            TextView tv = (TextView) mInflater.inflate(
                    R.layout.search_label_tv, mFlowLayout, false);
            tv.setText(datas[i]);
            final String str = tv.getText().toString();
            //点击事件
            tv.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    //加入搜索历史纪录记录
                    Toast.makeText(MainActivity.this, str, Toast.LENGTH_LONG).show();
                }
            });
            mFlowLayout.addView(tv);
        }
    }

标签的展示样式可以通过Demo里面的search_label_tv布局去自定义修改,这里的逻辑并不麻烦,详细代码查看demo代码。

插播一个效果图:

《Android APP可能有的东西》之UI篇:流式标签&搜索历史_第1张图片
插播一个效果图

SearchHistory搜索历史

使用SharedPreferences记录搜索历史。

主要的方法如下:

public void initSearchHistory() {}//初始化

public void save() {}//储存

public void cleanHistory() {}//清除

Demo里面为了代码逻辑的清晰,将历史记录的控件都与流式标签分离了,通常是放在一起的。另外,SharedPreferences也可以单独封装方法提供直接调用,只要能储存,怎么利索怎么写。

好像就这么点东西,没啥可以写的。。。

最后

Demo里面的代码量本身也不大,主要是供新手朋友们参考,也算是自己记录一下这些可以单独抽离出来的小东西。

上代码!FlowLayout-SearchHistory

【UI篇】扩展阅读

《Android APP可能有的东西》之UI篇:加入购物车动画

《Android APP可能有的东西》之UI篇:日夜间模式切换

《Android APP可能有的东西》之UI篇:展开TextView全文


本文作者:paradoxie
个人主页:谢盒盒的小黑屋,不止说技术
地址:主页,专注说技术
github地址:paradoxie
转载请注明出处,蟹蟹!
-------我的梦想真的是做一条咸鱼!

你可能感兴趣的:(《Android APP可能有的东西》之UI篇:流式标签&搜索历史)