首先导入依赖
implementation ‘com.hyman:flowlayout-lib:1.1.2’
布局文件中声明:
<com.zhy.view.flowlayout.TagFlowLayout
android:id="@+id/id_flowlayout"
zhy:max_select="-1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="20dp">
</com.zhy.view.flowlayout.TagFlowLayout>
在Activity onCreate方法中
//找控件
mFlowLayout = findViewById(R.id.id_flowlayout);
final LayoutInflater mInflater = LayoutInflater.from(this);
//设置数据
mFlowLayout.setAdapter(new TagAdapter<String>(mVals) {
@Override
public View getView(FlowLayout parent, int position, String s)
{
TextView tv = (TextView) mInflater.inflate(R.layout.tv,
mFlowLayout, false);
tv.setText(s);
return tv;
}
@Override
public boolean setSelected(int position, String s)
{
return s.equals("Android");
}
});
tv.xml布局文件
<?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="5dp"
android:background="@drawable/tab_bg"
android:text="Helloworld"
android:textColor="@drawable/text_color">
</TextView>
drawable 下新建xml文件 :tab_bg
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/checked_bg" android:state_checked="true">
</item>
<item android:drawable="@drawable/normal_bg"></item>
</selector>
drawable 下新建xml文件 :text_color
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#ff0000" android:state_checked="true" />
<item android:color="#f692ff" />
</selector>
选中的背景:checked_bg
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#ffffff" />
<corners android:radius="30dp" />
<stroke
android:width="2dp"
android:color="#c416ff" />
<padding
android:bottom="2dp"
android:left="10dp"
android:right="10dp"
android:top="2dp" />
</shape>
未选中的背景:normal_bg
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#ffffff" />
<corners android:radius="30dp" />
<padding
android:bottom="2dp"
android:left="10dp"
android:right="10dp"
android:top="2dp" />
</shape>