开源库3dTagCloudAndroid使用,实现3D球形云标签

2018-11-21  本文已影响0人  抬头仰望放肆的微笑v

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

上一篇下一篇

猜你喜欢

热点阅读