本文实例为大家分享了Android实现3 d标签云效果展示的具体代码,供大家参考,具体内容如下
<强>一、关于3 d标签云强>
TagCloudView是一个完全基于Android ViewGroup编写的控件,支持将一组视图展示为一个三维标签云,并支持全方向滚动。
GitHub中的链接地址
页面上标签的数据可以自己定义,数据页面可以滑动选择。
1。在build.gradle中添加
编译“com.moxun: tagcloudlib: 1.0.3”
2。在布局文件中引入
3。设置适配器继承TagsAdapter,实现以下方法
(1)公共int getCount ();
返回标签数量
(2)公共视图getView(上下文语境,int位置,ViewGroup父);
返回每个标签实例
(3)公共对象getItem (int位置);
返回标签数据
(4)公共int getPopularity (int位置);
针对每个标签返回一个值,但是什么作用
4。标签云对象的属性设置
<强>二,简单的使用示例强>
(一)布局文件activity_main.xml设计
& lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比; & lt; RelativeLayout xmlns: android=" http://schemas.android.com/apk/res/android " xmlns:应用=" http://schemas.android.com/apk/res-auto " android: id=癅 + id/activity_main” android: layout_width=" match_parent " android: layout_height=癿atch_parent”比; & lt; com.moxun.tagcloudlib.view.TagCloudView android: id=癅 + id/tcv_tags” android: layout_width=" match_parent " android: layout_height=" match_parent " 应用:autoScrollMode="统一" 应用:radiusPercent=" 0.8 "/比; & lt;/RelativeLayout>
(二)设计标签云中的字体的布局
& lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比; & lt; !——单个标签云中的文本的视图——比; & lt; TextView xmlns: android=" http://schemas.android.com/apk/res/android " android: layout_width=" wrap_content " android: layout_height=" wrap_content " android:文本="标签云” android:输入textColor=" @color/textcolor_tags”/在
(三)设计字体的颜色选择器
(res文件夹下创建色文件夹,创建textcolor_tags。xml)
& lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比; & lt; !——标签云的文本的字体的颜色选择器——比; & lt;选择xmlns: android=" http://schemas.android.com/apk/res/android "比; & lt;项目android:颜色=" # f0f " android: state_selected=" true "/比; & lt;项目android:颜色=" # 000“android: state_selected=癴alse”/比; & lt;/selector>
(四)创建适配器的类
包com.lwz.cloud; 进口android.content.Context; 进口android.view.View; 进口android.view.ViewGroup; 进口android.widget.TextView; 进口com.moxun.tagcloudlib.view.TagsAdapter; 进口并不知道;/* * *标签云页面数据的适配器 */公开课CursorTagsAdapter延伸TagsAdapter { 私人ListmList; 公共CursorTagsAdapter (List 列表){ 这一点。mList=列表; } @Override 公共int getCount () { 返回mList.size (); } @Override 公众视线getView(上下文语境,int位置,ViewGroup父){ TextView电视=(TextView)视图。充气(上下文,出来。item_tag, null); tv.setText (getItem(位置)); 返回电视; } @Override 公共字符串getItem (int位置){ 返回mList.get(位置); } @Override 公共int getPopularity (int位置){ 返回1; } @Override 公共空间> 包com.lwz.cloud; 进口android.os.Bundle; 进口android.support.v7.app.AppCompatActivity; 进口android.view.View; 进口android.view.ViewGroup; 进口android.widget.Toast; 进口com.moxun.tagcloudlib.view.TagCloudView; 进口java.util.ArrayList; 进口并不知道;/* * *标签云效果界面的设计 */公共类MainActivity AppCompatActivity实现TagCloudView延伸。OnTagClickListener { TagCloudView tcvTags;//标签云对象 List Android实现3 d标签云简单效果