温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
  • 忘记密码?
登录注册×
获取短信验证码
其他方式登录
点击 登录注册 即表示同意 《亿速云用户服务条款》
  • 服务器
  • 数据库
  • 开发技术
  • 网络安全
  • 互联网科技
登 录 注册有礼
最新更新 网站标签 地图导航
产品
  • 首页 > 
  • 教程 > 
  • 开发技术 > 
  • 移动开发 > 
  • Android流式布局实现历史搜索记录功能

Android流式布局实现历史搜索记录功能

发布时间:2020-09-03 15:52:17 来源:脚本之家 阅读:167 作者:zhang_li_yong 栏目: 移动开发

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

首先在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>

实现模拟搜索效果图

Android流式布局实现历史搜索记录功能

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界面

效果图如下:

Android流式布局实现历史搜索记录功能

这样就实现了一个简单的流式布局历史搜索记录

GitHub地址:https://github.com/zhangliyong114/FlowLayoutDemo

以上所述是小编给大家介绍的Android流式布局实现历史搜索记录功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对亿速云网站的支持!

向AI问一下细节
推荐阅读:
  1. 历史搜索
  2. redis如何用队列实现历史搜索功能

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

android 流式布局 roi
  • 上一篇新闻:
    hashset去除重复值原理实例解析
  • 下一篇新闻:
    IntelliJ IDEA创建maven多模块项目(图文教程)

猜你喜欢

  • 什么情况下会使香港服务器出现丢包问题
  • 电子商务网站租用香港服务器有哪些好处
  • 造成香港服务器速度变慢的原因有哪些
  • 云服务器选择因素有哪些
  • 如何提升美国服务器防御能力
  • 云服务器有哪些功能性优势
  • 租用香港服务器怎么测试速度
  • 直播平台怎么选择香港服务器配置
  • 美国服务器接入CDN加速注意事项有哪些
  • 购买云服务器须防范哪些事项
最新资讯
  • 解释Scala中的Varargs如何工作
  • 什么是Scala中的By-name参数
  • Scala集合库中的foldLeft和reduceLeft有什么区别
  • 如何在Scala中使用Pattern Guards
  • Scala中的尾递归优化是什么
  • 解释Scala的自类型及其用途
  • 什么是Scala中的上下文界定
  • Scala中的视图界定是什么
  • 如何在Scala中创建和使用泛型
  • 解释Scala的类型推断机制
相关推荐
  • 如何在JavaScript中使用location实现一个搜索框历史记录功能
  • Vue如何实现输入框新增搜索历史记录功能
  • FlowLayout流式布局实现搜索清空历史记录
  • Android应用中怎么实现一个搜索记录保存功能
  • 使用Android自定义流式布局实现淘宝搜索记录
  • 如何轻松删除vista下指定历史搜索记录
  • 如何使用Vue3+Vant组件实现App搜索历史记录功能
  • Android怎么实现模拟搜索功能
  • 微信小程序如何实现搜索商品和历史记录的功能
  • linux shell历史命令记录功能怎么用

相关标签

android8.1 android7.1 android架构 android应用 android9.0 android intent android课程 android技术 android 源码 android 设计模式 xamarin android android入门 android webservice 设计模式 android androidstudio4.0 android l androidq android8.0 android7.0 Android Studio4.1
AI

代做工资流水公司桂林车贷银行流水 办理合肥开房贷收入证明长沙在职证明多少钱徐州购房银行流水模板大庆个人银行流水代做扬州工资流水代开西安车贷银行流水 价格南昌代开银行流水电子版常州背调银行流水模板赣州工资流水账单价格武汉背调流水报价洛阳查询房贷收入证明岳阳车贷银行流水 制作湛江房贷收入证明开具岳阳个人工资流水 开具曲靖查询工资流水台州公司流水样本宁波房贷工资流水 多少钱九江打印工资流水账单北京离职证明查询西安查询背调银行流水绵阳工资代付流水公司株洲做工资证明潍坊工资代付流水打印南通制作收入证明宁波工资流水app截图样本衡阳签证工资流水制作长沙制作银行流水单芜湖背调流水查询潍坊打银行流水香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

代做工资流水公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化