搜索框+流式布局

流式布局依赖
implementation 'com.zhy:flowlayout-lib:1.0.3'

1.xml布局文件



    
    

    

    
    

    

    

    

2.把搜索框变成圆边


    
    
    

3.给流式布局里面的TextView设置背景样式


    
    
    

4.最重要的activity

public class MainActivity extends AppCompatActivity {
    TagFlowLayout flowLayout;
    List list;
    TextView text_search;
    EditText editText;
    KeyAdapter adapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        flowLayout=findViewById(R.id.flowlayout);
        text_search=findViewById(R.id.text_search);
        editText=findViewById(R.id.editText);



        list=new ArrayList<>();
        list.add("考拉三周年人气热气销榜");
        list.add("电动牙刷");
        list.add("尤妮佳");
        list.add("豆豆鞋");
        list.add("沐浴露");
        list.add("日东红茶");
        list.add("榴莲");
        list.add("电动牙刷");
        list.add("尤妮佳");
        list.add("雅诗兰黛");
        list.add("豆豆鞋");

        final KeyAdapter adapter=new KeyAdapter(list);
        flowLayout.setAdapter(adapter);

        //搜索按钮点击事件
        text_search.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String key=editText.getText().toString();
                if (!TextUtils.isEmpty(key)){
                    list.add(key);
                    adapter.notifyDataChanged();

                    //TODO 跳转
                    Intent intent = new Intent(MainActivity.this, SecondActivity.class);
                    intent.putExtra("key", key);
                    startActivity(intent);
                }
            }
        });

        //设置点击事件
        flowLayout.setOnTagClickListener(new TagFlowLayout.OnTagClickListener() {
            @Override
            public boolean onTagClick(View view, int position, FlowLayout parent) {
                //Toast.makeText(MainActivity.this,adapter.getItem(position),Toast.LENGTH_SHORT).show();
                String key = adapter.getItem(position);//获取点击项目的值
                Intent it=new Intent(MainActivity.this,SecondActivity.class);
                it.putExtra("key",key);
                startActivity(it);
                return true;
            }
        });
    }

    class KeyAdapter extends TagAdapter {
        public KeyAdapter(List datas) {
            super(datas);
        }

        @Override
        public View getView(FlowLayout parent, int position, String s) {
            TextView textView=new TextView(parent.getContext());
            textView.setTextSize(16);
            textView.setText(s);
            textView.setBackgroundResource(R.drawable.shape_text);
            return textView;
        }
    }
}

你可能感兴趣的:(搜索框+流式布局)