TagCloudView是一个完全基于Android ViewGroup编写的控件,支持
将一组View展示为一个3D球形集合,并支持全方向滚动。
GitHub中的链接地址:https://github.com/misakuo/3dTagCloudAndroid
页面上标签的数据可以自己定义,数据页面可以滑动选择。
效果图使用
1.Eclipse
copy代码,或使用ADT的maven插件
2.Android Studio / IDEA
在build.gradle中添加
implementation compile 'com.moxun:tagcloudlib:1.2.1'
在布局文件中引入
<com.moxun.tagcloudlib.view.TagCloudView
android:id="@+id/tag_cloud"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
app:autoScrollMode="uniform"
app:darkColor="@color/tagDark"
app:lightColor="@color/tagLight"
app:radiusPercent="0.6"
app:scrollSpeed="3" />
设置Adapter继承TagsAdapter,实现以下方法
public int getCount();
返回Tag数量
public View getView(Context context, int position, ViewGroup parent);
返回每个Tag实例
public Object getItem(int position);
返回Tag数据
public int getPopularity(int position);
针对每个Tag返回一个权重值,该值与ThemeColor和Tag初始大小有关;一个简单的权重值生成方式是对一个数N取余或使用随机数
public void onThemeColorChanged(View view,int themeColor);
Tag主题色发生变化时会回调该方法
定制属性
Demo示例
1.创建自定义TagCloudViewAdapter继承TagsAdapter
2.创建云标签中字体的布局
<?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:text="标签云"
android:textColor="@color/textcolor_tags" />
3.创建colorwenj,创建textcolor_tags.xml字体颜色变化的文件
<?xml version="1.0" encoding="utf-8"?>
<!--标签云的文本的字体的颜色选择器-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#f0f" android:state_selected="true" />
<item android:color="#000" android:state_selected="false" />
</selector>
4.MainActivity调用
最后附上demo地址:https://github.com/742353448/TagCloudView.git
网友评论