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

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

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

最近在开发项目的时候,有一个需求是展示历史搜索记录,展示的样式是流式布局。在网上看到了一个不错的类库跟大家分享一下首先在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

    推荐阅读
  • 明日之后新服怎么赚金条(介绍两种方法)

    接下来就是奶牛和绵羊,每天可以买两只奶牛,一般可以收获7个腿肉和10瓶牛奶,绵羊会贵一些,收获以后估计能有16个左右的里脊和毛。最后就是玫瑰啦,可以在拱廊街用30个小太阳买一个玫瑰种子,正常施肥以后可以有超过六只玫瑰花,玫瑰花除了我们只知道的可以增加好感度也是能给NPC的,只不过玫瑰种植等待的时间会比其他农作物长一些。我们可以在每个地图定10个小树苗这样的收集任务。

  • 青椒炒肉丝怎么炒(怎样炒青椒炒肉丝)

    青椒炒肉丝怎么炒准备里脊肉一块去掉肉皮,把猪肉切成均匀的薄片,肉片码放成一排切成丝放入盆中,倒入清水反复清洗干净捞出,放在笊篱中使劲摁压挤干水分备用。把处理好的肉丝放入盆中,加入食盐1克,胡椒粉少许,老抽2克,生抽3克用手抓匀,让肉丝将调料充分吸收,打入一个蛋清搅拌均匀,再倒入半勺淀粉继续抓匀,加入适量植物油拌匀,植物油能减少肉丝间的黏性防止粘锅。

  • 身份证过期了可以提前办吗(如果身份证要过期了可以提前办么)

    2、根据《中华人民共和国居民身份证条例实施细则》第十五条规定:“公民应当在居民身份证有效期满之日的3个月前申报换领新证,户口登记机关应当在旧证有效期满前将新证发给本人。”

  • 贵妃鸡翅怎么做好吃

    食材:鸡翅,盐1茶匙葱2段儿姜2片,蒜4瓣1、备好所需食材,鸡翅洗净,用叉子在表面均匀的叉上若干小孔。

  • 土豆鸡肉生菜沙拉(土豆鸡肉沙拉的做法)

    1、土豆去皮洗净,切成两半,上锅蒸。

  • 杨影个人简历(来看看详细资料)

    杨影个人简历杨影,女,汉族,1977年7月13日出生于江苏省徐州市,7岁开始打球,1993年进国家队。2001年底,杨影离开曾奋斗多年的国家队。杨影6岁起学打乒乓球。1998年1月,因春节假后归队迟到3个小时受到调回江苏省队的处罚。在那家公司干了半年后,感觉不适合自己,杨影便打道回府。2002年5月,杨影在一次偶然中得知北京广播学院招生的消息,引起她的兴趣。经过面试、笔试,杨影如愿地跨进北广的大门。

  • 青岛女子割双眼皮毁容(本想祛斑变美脸部却成)

    近日,海沧法院发布一起美容致残案。当天,程某使用其自有的未带有任何品名标记的药水,搽在曾女士斑点部位,对其进行祛斑治疗。经司法鉴定机构鉴定,曾女士脸部瘢痕被评定为十级伤残。一怒之下,曾女士便将程某诉至法院。鉴于曾女士对程某的医疗美容资质、美容方法等未尽谨慎注意义务,对损害的发生也存在部分过错。结合本案具体情况,海沧法院酌情确定曾女士对本次损害造成的损失自负20%,其余80%的损失由程某承担赔偿责任。

  • 三伏高温天气注意降温防暑(8日黄淮之间部分县市37-39)

    北中部偏北风逐渐加大到4级左右,其他县市偏南风3到4级,阵风6级左右。黄淮之间最高温度达35到37度,部分县市37到39度。9日,北部、中西部多云间阴天,局部有阵雨、雷阵雨;其他县市多云间阴天。明天,多云,傍晚前后有分散性阵雨、雷阵雨。

  • 洛阳玻璃桥景区最近景点(洛阳一山沟小村庄摇身变网红)

    因为门票免费,吸引了很大一批游客;春节举办庙会,又吸引了很多游客前来。有数据统计,那段时间,倒盏村平均每天接待的游客数量达到12万人。临近春节,倒盏村雁鸣湾亲子庙也将在本月25日至2月9日如期举行。此外,乡村创意市集也是倒盏村的一大特色,今年的创意市集将会引来更多有趣的民俗小玩意,让民间艺术的魅力感染更多人。

  • 4399上线过的网页游戏(小学时代最爱的页游)

    4399上线过的网页游戏相信现在很多80、90后玩家既没有错过FC巅峰时代,也没有错过4399横行的时候。现在提到4399网页游戏大部分玩家都会嗤之以鼻,但对于经历过网页游戏的玩家来说,这些确实带来了非常多快乐的回忆。大家还记得哪些好玩的4399游戏,欢迎在评论区留言。