public class Main2Activity extends AppCompatActivity {
private TagFlowLayout tagFlowLayout;
private EditText editText;
private Button btn;
private LayoutInflater inflater;
private List<String> list;
private TextView tv;
@SuppressLint("HandlerLeak")
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
tagFlowLayout.setAdapter(new TagAdapter<String>(list) {
@Override
public View getView(FlowLayout parent, int position, String s) {
tv = (TextView) inflater.inflate(R.layout.tv,tagFlowLayout,false);
tv.setText(s);
return tv;
}
});
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
editText = findViewById(R.id.edt);
btn = findViewById(R.id.btn);
tagFlowLayout = findViewById(R.id.id_flowlayout);
list = new ArrayList<>();
inflater = LayoutInflater.from(this);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String trim = editText.getText().toString().trim();
list.add(trim);
handler.sendEmptyMessageDelayed(1,0);
}
});
}
}
布局
<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="确定" />
<com.zhy.view.flowlayout.TagFlowLayout
android:id="@+id/id_flowlayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="@drawable/bg"
android:text="hello"
android:textColor="#FFF"
android:textSize="20sp" >
</TextView>
shape格式
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="#666666" />
<corners android:radius="15dp" />
<padding
android:bottom="5dp"
android:left="10dp"
android:right="10dp"
android:top="5dp" />
</shape>