android 历史搜索布局,《Android APP可能有的东西》之UI篇:流式标签搜索历史
说在前面
很多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篇:流式标签搜索历史相关推荐
- Android自定义组合布局,Android 流式布局 + 自定义组合控件
自定义组合控件 package yanjupeng.bawei.com.day09.two; import android.content.Context; import android.util.A ...
- Android桌面图标布局,android安装运行launcher并修改桌面图标
以系统及程序的方式安装和运行Launcher,才能在Launcher启动的时候就让默认的AppWidget程序显示出来.否则将会出现 java.lang.SecurityException: bind ...
- android使用桢布局,Android性能优化UI篇
在说性能优化之前,我们必须了解为什么要做性能优化,首先第一点肯定是为了用户体验,你想啊要是你的App用起来很卡,页面加载慢腾腾的,用户能一直忍受你吗?其二性能优化也是对我们程序员自己的考验,优化过程需 ...
- android 4个布局,Android - 4种基本布局
1.线性布局 LinearLayout:线性布局 android:orientation="horizontal" android:layout_width="match ...
- android鸿洋布局,Android基础ConstrainLayout约束布局的介绍和使用
写在前面:之前稍微复杂的设计实现,我们都可能会借助于嵌套实现,我们知道嵌套越多,性能就越低.而我们布局一般都是在xml里面进行实现,拖拽的话估计现在android开发者都不会去使用.为了提升开发者的可 ...
- android 返回图标布局,Android 开发BottomNavigationView学习
前言 注意这个里介绍的是AndroidX的com.google.android.material.bottomnavigation.BottomNavigationView xml布局中 app:la ...
- android 动态绘制布局,Android代码和绘制曲线中按钮和绘图板的动态布局
时间: 2019年1月11日 本文向您介绍Android代码中的按钮和绘图板的动态布局和绘制曲线,主要包括示例android 动态绘制曲线,应用技巧,基本知识和知识android 动态绘制曲线,包括A ...
- android线程改变布局,Android线程中设置控件的值提示报错的解决方法
本文实例讲述了Android线程中设置控件的值提示报错的解决方法.分享给大家供大家参考,具体如下: 在Android线程中设置控件的值一般会与Handler联合使用,如下: package com.y ...
- android 自定义输入法布局,Android自定义输入法使用方法
Android自定义输入法使用方法 时间:2017-04-21 来源:Android开发学习网 对于Android用户而言,一般都会使用第三方的输入法.可是在输入密码时(尤其是支付相关的密码) ...
最新文章
- Linux学习之系统编程篇:MMU(Memory Manager Unit 内存管理单元)
- java疯狂讲义内存分配_java疯狂讲义学习:面向对象(上)
- Android Studio 下使用git -- 个人,本地版本控制
- 动态规划复习-HDU1081
- ECMAScript 6 开篇准备
- python 数据分析--2016美国竞选辩论可视化
- kettle预览点两下才出数_谁才是娱乐圈油腻王中王?
- 使用jquery实现局部刷新DIV
- python中读取和保存图片的方法对比
- login RPi via serial port
- iOS数据库的使用(一):FMDB多线程
- RS485通讯常见问题汇总
- iOS读取通讯录功能
- Windows上使用ssh密钥连接Linux(以centos7为例)和Windows与Windows的免密钥连接
- 数据结构编程实践(七)创建哈夫曼树、生成哈夫曼编码、完成图片的压缩与解压缩
- 帆软大屏背景怎么设置_FineReport报表工具增加动态背景色
- Spring5 Unsupported class解决方法:probably due to a new Java class file version that is supported yet
- 初学css能做的实战 登录页面制作
- matlab两轮自平衡小车,(2-3合刊) 基于MEMS惯性传感器的两轮自平衡小车设计
- 高效工具之QUICKER