全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

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

首先在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实现历史搜索记录  # 流式  # 小编  # 类库  # 在此  # 给大家  # 当我们  # 管理器  # 会把  # 大家分享  # 所述  # 给我留言  # 开发项目  # 感谢大家  # 有一个  # 换行  # 疑问请  # 有任何  # 实现了  # 看到了  # 在网上 


相关文章: c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  Bpmn 2.0的XML文件怎么画流程图  如何快速完成中国万网建站详细流程?  学校免费自助建站系统:智能生成+拖拽设计+多端适配  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  建站之星安装后界面空白如何解决?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  西安大型网站制作公司,西安招聘网站最好的是哪个?  云南网站制作公司有哪些,云南最好的招聘网站是哪个?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  高防服务器:AI智能防御DDoS攻击与数据安全保障  如何选择适配移动端的WAP自助建站平台?  在线制作视频的网站有哪些,电脑如何制作视频短片?  ,怎么用自己头像做动态表情包?  python的本地网站制作,如何创建本地站点?  高防服务器租用如何选择配置与防御等级?  建站之星展会模板:智能建站与自助搭建高效解决方案  C++中引用和指针有什么区别?(代码说明)  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  微信h5制作网站有哪些,免费微信H5页面制作工具?  如何通过虚拟机搭建网站?详细步骤解析  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  全景视频制作网站有哪些,全景图怎么做成网页?  如何获取上海专业网站定制建站电话?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  如何登录建站主机?访问步骤全解析  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  网站制作免费,什么网站能看正片电影?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  如何快速使用云服务器搭建个人网站?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  已有域名建站全流程解析:网站搭建步骤与建站工具选择  简单实现Android文件上传  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  建站之星如何助力企业快速打造五合一网站?  常州企业建站如何选择最佳模板?  建站之星2.7模板快速切换与批量管理功能操作指南  建站之星各版本价格是多少?  如何在宝塔面板中创建新站点?  开源网站制作软件,开源网站什么意思?  如何选择高效响应式自助建站源码系统?  怀化网站制作公司,怀化新生儿上户网上办理流程?  建站之星后台管理:高效配置与模板优化提升用户体验  如何在IIS7上新建站点并设置安全权限?  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。