根据服务器返回数据的数量,每个字段的大小进行自适应布局
<fyales.com.tagcloud.library.TagCloudLayout android:id="@+id/container" android:layout_width="match_parent" android:layout_height="wrap_content" app:tagSpacing="15dp" app:lineSpacing="10dp"/> - tagSpacing属性:各个标签之间的距离
- lineSpacing属性:行间距
Java代码
mContainer = (TagCloudLayout) findViewById(R.id.container); mList = new ArrayList<>(); mList.add("中华人民共和国"); mList.add("大韩民国"); mList.add("日本"); mList.add("朝鲜"); mList.add("台湾"); mList.add("香港特别行政区"); mList.add("澳门特别行政区"); mList.add("越南"); mList.add("老挝"); mList.add("柬埔寨"); mList.add("泰国"); mList.add("缅甸"); mList.add("马来西亚"); mList.add("新加坡"); mList.add("印度尼西亚"); mList.add("文莱"); mList.add("菲律宾"); mAdapter = new TagBaseAdapter(this,mList); findViewById(R.id.add_btn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mList.add("东帝汶"); mAdapter.notifyDataSetChanged(); } }); mContainer.setAdapter(mAdapter); mContainer.setItemClickListener(new TagCloudLayout.TagItemClickListener() { @Override public void itemClick(int position) { Toast.makeText(MainActivity.this,mList.get(position),Toast.LENGTH_SHORT).show(); } }); dependencies { compile 'com.fyales.android:library:1.0.2' } - 允许用户自定义,自己写一个adapter即可
- 重构代码
