最近在开发项目的时候,有一个需求是展示历史搜索记录 ,展示的样式是流式布局(就是根据内容自动换行)。在网上看到了一个不错的类库跟大家分享一下

首先在AndroidStudio简历一个工程项目导入module类库,我会把项目demo方法GitHub上
说一下demo中的实现方式
在 activity_main.xml中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:id="@+id/edt"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="确定" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.zhy.view.flowlayout.TagFlowLayout
android:id="@+id/id_flowlayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
app:max_select="-1" />
</ScrollView>
</LinearLayout>
实现模拟搜索效果图
MainActivity.Java 代码
public class MainActivity extends AppCompatActivity {
private TagFlowLayout mFlowLayout;
private EditText editText;
private Button button;
private List<String> strings;
//布局管理器
private LayoutInflater mInflater;
//流式布局的子布局
private TextView tv;
public Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
mFlowLayout.setAdapter(new TagAdapter<String>(strings) {
@Override
public View getView(FlowLayout parent, int position, String s) {
tv = (TextView) mInflater.inflate(R.layout.tv,
mFlowLayout, false);
tv.setText(s);
return tv;
}
});
break;
}
super.handleMessage(msg);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mInflater = LayoutInflater.from(this);
mFlowLayout = (TagFlowLayout) findViewById(R.id.id_flowlayout);
editText = (EditText) findViewById(R.id.edt);
button = (Button) findViewById(R.id.btn);
strings = new ArrayList<>();
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String aa = editText.getText().toString().trim();
strings.add(aa);
//通知handler更新UI
handler.sendEmptyMessageDelayed(1, 0);
}
});
//流式布局tag的点击方法
mFlowLayout.setOnTagClickListener(new TagFlowLayout.OnTagClickListener() {
@Override
public boolean onTagClick(View view, int position, FlowLayout parent) {
Toast.makeText(MainActivity.this, tv.getText(), Toast.LENGTH_SHORT).show();
return true;
}
});
}
当我们点击确定按钮的时候,通知handler 去更新UI界面
效果图如下:
这样就实现了一个简单的流式布局历史搜索记录
GitHub地址:https://github.com/zhangliyong114/FlowLayoutDemo
以上所述是小编给大家介绍的Android流式布局实现历史搜索记录功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# android流式布局实现
# android
# 历史搜索记录
# Android自定义流式布局实现淘宝搜索记录
# Android本地实现搜索历史记录
# Android实现搜索保存历史记录功能
# Android项目类似淘宝 电商 搜索功能
# 监听软键盘搜索事件
# 延迟自动搜索
# 以及时间排序的搜索历史记录的实现
# Android实现搜索功能并本地保存搜索历史记录
# Android实现简易计步器功能隔天步数清零查看历史运动纪录
# android中AutoCompleteTextView的简单用法(实现搜索历史)
# Android中使用 AutoCompleteTextView 实现手机号格式化附带清空历史的操作
# Android实现搜索历史功能
# Android实现历史搜索记录
# 流式
# 小编
# 类库
# 在此
# 给大家
# 当我们
# 管理器
# 会把
# 大家分享
# 所述
# 给我留言
# 开发项目
# 感谢大家
# 有一个
# 换行
# 疑问请
# 有任何
# 实现了
# 看到了
# 在网上
相关文章:
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何在Golang中引入测试模块_Golang测试包导入与使用实践
网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?
如何用美橙互联一键搭建多站合一网站?
香港服务器租用费用高吗?如何避免常见误区?
建站之星如何实现PC+手机+微信网站五合一建站?
在线制作视频网站免费,都有哪些好的动漫网站?
如何在局域网内绑定自建网站域名?
阿里云网站制作公司,阿里云快速搭建网站好用吗?
建站之家VIP精选网站模板与SEO优化教程整合指南
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
C++如何编写函数模板?(泛型编程入门)
广东专业制作网站有哪些,广东省能源集团有限公司官网?
如何在VPS电脑上快速搭建网站?
北京的网站制作公司有哪些,哪个视频网站最好?
如何通过虚拟主机空间快速建站?
学校建站服务器如何选型才能满足性能需求?
制作网站的模板软件,网站怎么建设?
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
视频网站app制作软件,有什么好的视频聊天网站或者软件?
如何在景安服务器上快速搭建个人网站?
网站制作费用多少钱,一个网站的运营,需要哪些费用?
如何做网站制作流程,*游戏网站怎么搭建?
建站主机无法访问?如何排查域名与服务器问题
网站制作价目表怎么做,珍爱网婚介费用多少?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
如何快速查询网址的建站时间与历史轨迹?
天津个人网站制作公司,天津网约车驾驶员从业资格证官网?
css网站制作参考文献有哪些,易聊怎么注册?
如何用腾讯建站主机快速创建免费网站?
南平网站制作公司,2025年南平市事业单位报名时间?
如何用景安虚拟主机手机版绑定域名建站?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
Swift中swift中的switch 语句
网站app免费制作软件,能免费看各大网站视频的手机app?
淘宝制作网站有哪些,淘宝网官网主页?
如何快速搭建高效简练网站?
一键网站制作软件,义乌购一件代发流程?
如何正确选择百度移动适配建站域名?
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
建站之星ASP如何实现CMS高效搭建与安全管理?
C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换
如何在阿里云域名上完成建站全流程?
如何续费美橙建站之星域名及服务?
网站设计制作企业有哪些,抖音官网主页怎么设置?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
个人摄影网站制作流程,摄影爱好者都去什么网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。