说在前面

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

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代码。

插播一个效果图:

插播一个效果图

SearchHistory搜索历史

使用SharedPreferences记录搜索历史。

主要的方法如下:

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

public void save() {}//储存

public void cleanHistory() {}//清除

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

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

最后

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

【UI篇】扩展阅读

本文作者:paradoxie

个人主页:谢盒盒的小黑屋,不止说技术

简书地址:简书主页,专注说技术

github地址:paradoxie

转载请注明出处,蟹蟹!

-------我的梦想真的是做一条咸鱼!

android 历史搜索布局,《Android APP可能有的东西》之UI篇:流式标签搜索历史相关推荐

  1. Android自定义组合布局,Android 流式布局 + 自定义组合控件

    自定义组合控件 package yanjupeng.bawei.com.day09.two; import android.content.Context; import android.util.A ...

  2. Android桌面图标布局,android安装运行launcher并修改桌面图标

    以系统及程序的方式安装和运行Launcher,才能在Launcher启动的时候就让默认的AppWidget程序显示出来.否则将会出现 java.lang.SecurityException: bind ...

  3. android使用桢布局,Android性能优化UI篇

    在说性能优化之前,我们必须了解为什么要做性能优化,首先第一点肯定是为了用户体验,你想啊要是你的App用起来很卡,页面加载慢腾腾的,用户能一直忍受你吗?其二性能优化也是对我们程序员自己的考验,优化过程需 ...

  4. android 4个布局,Android - 4种基本布局

    1.线性布局 LinearLayout:线性布局 android:orientation="horizontal" android:layout_width="match ...

  5. android鸿洋布局,Android基础ConstrainLayout约束布局的介绍和使用

    写在前面:之前稍微复杂的设计实现,我们都可能会借助于嵌套实现,我们知道嵌套越多,性能就越低.而我们布局一般都是在xml里面进行实现,拖拽的话估计现在android开发者都不会去使用.为了提升开发者的可 ...

  6. android 返回图标布局,Android 开发BottomNavigationView学习

    前言 注意这个里介绍的是AndroidX的com.google.android.material.bottomnavigation.BottomNavigationView xml布局中 app:la ...

  7. android 动态绘制布局,Android代码和绘制曲线中按钮和绘图板的动态布局

    时间: 2019年1月11日 本文向您介绍Android代码中的按钮和绘图板的动态布局和绘制曲线,主要包括示例android 动态绘制曲线,应用技巧,基本知识和知识android 动态绘制曲线,包括A ...

  8. android线程改变布局,Android线程中设置控件的值提示报错的解决方法

    本文实例讲述了Android线程中设置控件的值提示报错的解决方法.分享给大家供大家参考,具体如下: 在Android线程中设置控件的值一般会与Handler联合使用,如下: package com.y ...

  9. android 自定义输入法布局,Android自定义输入法使用方法

    Android自定义输入法使用方法 时间:2017-04-21     来源:Android开发学习网 对于Android用户而言,一般都会使用第三方的输入法.可是在输入密码时(尤其是支付相关的密码) ...

最新文章

  1. Linux学习之系统编程篇:MMU(Memory Manager Unit 内存管理单元)
  2. java疯狂讲义内存分配_java疯狂讲义学习:面向对象(上)
  3. Android Studio 下使用git -- 个人,本地版本控制
  4. 动态规划复习-HDU1081
  5. ECMAScript 6 开篇准备
  6. python 数据分析--2016美国竞选辩论可视化
  7. kettle预览点两下才出数_谁才是娱乐圈油腻王中王?
  8. 使用jquery实现局部刷新DIV
  9. python中读取和保存图片的方法对比
  10. login RPi via serial port
  11. iOS数据库的使用(一):FMDB多线程
  12. RS485通讯常见问题汇总
  13. iOS读取通讯录功能
  14. Windows上使用ssh密钥连接Linux(以centos7为例)和Windows与Windows的免密钥连接
  15. 数据结构编程实践(七)创建哈夫曼树、生成哈夫曼编码、完成图片的压缩与解压缩
  16. 帆软大屏背景怎么设置_FineReport报表工具增加动态背景色
  17. Spring5 Unsupported class解决方法:probably due to a new Java class file version that is supported yet
  18. 初学css能做的实战 登录页面制作
  19. matlab两轮自平衡小车,(2-3合刊) 基于MEMS惯性传感器的两轮自平衡小车设计
  20. 高效工具之QUICKER

热门文章

  1. NVIDIA APX 能直接运行QUAKE 3,真正的手机3D游戏时代不远了!
  2. 云队友丨别跟精英型组织的员工谈管理
  3. 【模拟 IC】电荷泵的基础知识(1)
  4. 【亲测】PHP进销存源码 ERP多仓库管理系统 网络版手机端+小程序版进销存 二次开发
  5. matlab编程入门学习(2)
  6. ssm整合开发 动力节点王鹤版本
  7. Python爬取当当、京东、亚马逊图书信息
  8. 英语课件素材处理_声音
  9. JAVA GUI文字游戏
  10. 五种360safe不能运行,启动,打开的解决办法。