百摩网
当前位置: 首页 生活百科

Android流式布局如何实现历史搜索记录

时间:2023-08-25 作者: 小编 阅读量: 4 栏目名: 生活百科

最近在开发项目的时候,有一个需求是展示历史搜索记录,展示的样式是流式布局。在网上看到了一个不错的类库跟大家分享一下首先在AndroidStudio简历一个工程项目导入module类库,我会把项目demo方法GitHub上说一下demo中的实现方式在activity_main.xml中<?

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

首先在AndroidStudio简历一个工程项目导入module类库,我会把项目demo方法GitHub上

说一下demo中的实现方式

在 activity_main.xml中

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:androxmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:android:layout_android:layout_android:orientation="vertical"><EditTextandroid:android:layout_android:layout_ /><Buttonandroid:android:layout_android:layout_android:text="确定" /><ScrollViewandroid:layout_android:layout_><com.zhy.view.flowlayout.TagFlowLayoutandroid:android:layout_android:layout_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() {@Overridepublic void handleMessage(Message msg) {switch (msg.what) {case 1:mFlowLayout.setAdapter(new TagAdapter<String>(strings) {@Overridepublic 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);}};@Overrideprotected 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() {@Overridepublic void onClick(View v) {String aa = editText.getText().toString().trim();strings.add(aa);//通知handler更新UIhandler.sendEmptyMessageDelayed(1, 0);}});//流式布局tag的点击方法mFlowLayout.setOnTagClickListener(new TagFlowLayout.OnTagClickListener() {@Overridepublic 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

    推荐阅读
  • 智慧传祺怎么登录不了(智慧传祺登录不了怎么办)

    智慧传祺,是广汽集团打造的前装Telematics方案,是“传祺智联网”汽车互联生态体系中的重要组成部分,适用于广汽传祺多款车型,致力于为客户提供包括安全安防、远程控制、便捷服务、信息娱乐在内的多元化车联网功能服务。

  • 英国女王去世享年96岁(英国女王去世享年96岁)

    据报道,伊丽莎白女王在90岁时,身体还非常健康,但近期女王一直在经历健康问题。健康饮食伊丽莎白女王虽然是世界上最富有的女性之一,但她的生活方式却被认为是相对低调的。从不吸烟据报道,伊丽莎白女王的曾祖父,祖父,父亲,叔叔,妹妹,最终都是患上与吸烟有关的疾病而丧生,而伊丽莎白女王却从不抽烟,不吸烟的好习惯,也是她保持长寿的秘诀之一。

  • 手指指甲刮黑板的声音(指甲刮黑板一听就难受)

    讲道理这猴子还真不是夸张相信不少人都这样每次听到这种噪音会有种想送对方进棺材板的冲动可说到底为啥这种声音会让我们觉得不适?

  • 电脑屏幕锁屏怎么解除(简介电脑屏幕锁屏怎么解除)

    跟着小编一起来看一看吧!电脑屏幕锁屏怎么解除点击开始菜单栏,选择进入。进入所有控制面板项后点击进入电源选项设置界面。也可以快捷键WIN+X打开Windows移动中心,点击电池按钮进如电源选项。在一栏,我们发现目前只设置了10分钟,意味着如果我们10分钟不操作电脑电脑就会自动进入休眠状态,如果设置了锁屏密码的小伙伴还有慢慢解锁,很麻烦。因此在这里我们将10分钟改为,设置好后点击,这样电脑就再也不会锁屏啦。

  • 红米k50几号开售(红米k50参数曝光天玑1300t)

    红米k50几号开售与其他手机厂商冲击高端机市场不同,红米依旧在卢伟冰的带领下深耕于中低端机市场,并占据了相当大的市场份额。而最近根据某位数码博主爆料,红米K50相关参数信息被曝光,将采用天玑1300T处理器,并适配MIUI13系统,价格也到了不可思议的1999元起。据悉,本次推出的红米K50系列依然和之前一样会发布四款机型,分别是红米K50、红米K50Pro、红米K50Pro已经游戏党期待的红米K50游戏增强版,而且最终定价在1999元起。

  • 陈子昂什么时候写的登幽州台歌(陈子昂在这里登上幽州台)

    北京大兴区是北京市下属的一个区,位于北京市南部,新城北距市中心13公里,是距离北京市区最近的郊区。北京大兴区还有一个著名的建筑叫幽州台,就是当年陈子昂作《登幽州台歌》的地方。北京大兴区陈子昂曾两次出塞,盼望为国戍边。然而,陈子昂的计谋不为武攸宜所用,甚至被降为军曹。幽州台是战国时代燕国都城蓟城北部的门楼,为燕昭王所建,又叫做黄金台、贤士台。公元前311年,燕昭王在残缺不堪的局面中即位。

  • 最吓人的聊斋鬼故事(被人称为当代蒲松龄)

    对于“当代蒲松龄”这个赞誉,在熟悉他的人看来,更在于他们人生轨迹的相仿。青年时的杨湃,汲汲于名声,但始终求而不得,这与蒲松龄热衷功名数十年,却屡试不第的人生,是那么地相似。但他的北漂演艺生涯,在他看来完全失败。说这话的杨湃,现如今有一个六岁的女儿。事实也是如此,喜马拉雅诞生了这个全网点击量最高的鬼故事大王。03比莎士比亚的困境大现在杨湃在喜马拉雅上有65万粉丝,《深夜小茶馆》专辑有超过7亿的点击量。

  • 谈恋爱内心戏多是一种心态疾病吗(谈恋爱的病态心理)

    我很怪异,像她那样的家中,还用自身淹菜吃吗?我询问她,张阿姨,家里还淹萝卜咸菜吗?对这些踏过几十载坎坎坷坷的婚姻生活而言,爱很有可能确实就落在碗里,落在“萝卜条”到了。内心深处,内心强大的人是怎样的?并不是每一份爱全是英雄王座的,切切实实,质朴无华是婚姻生活的一种人生境界。

  • 二建考什么(二级建造师考什么?)

    接下来我们就一起去研究一下吧!二建考什么二建考试的科目设置为2+1,即两门公共课加一门专业课。公共课是各个专业都要考试的课,其讲述的内容具有通用性。专业课则是公共课上讲述的原则、原理和法律法规在专业领域的具体应用。专业课的考试是用来检验应考者应用公共课和专业课中的基础知识,分析和解决实际问题的能力。

  • fgo玛修灵衣怎么获得开放权(FGO玛修灵衣获取方式介绍)

    首先是要将玛修进行满破并且升满级,也就是要将玛修提升到80级才可以开放灵衣,玛修的突破和其他的从者不一样,是要通关相对应的主线剧情才能突破的,学妹应该是得通关主线第七章才能满破,不过现在没打到第七章的小伙伴也不用怕,通关灵衣本之后权限就已经开了的,后面的步骤等到自己通关第七章再来解锁也行。