// 3d星球视图旋转样式implementation 'com.moxun:tagcloudlib:1.2.0'

adapter继承TagsAdapter

package com.demo.cn;import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;import com.moxun.tagcloudlib.view.TagsAdapter;import java.util.List;/*** date:2022/1/18* author:wsm(admin)* funcation:星球*/
public class StarViewAdapter extends TagsAdapter {private Context mContext;private List<StarModel> mList;private LayoutInflater inflater;public StarViewAdapter(Context mContext, List<StarModel> mList) {this.mContext = mContext;this.mList = mList;inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);}/*** 返回Tag数量** @return*/@Overridepublic int getCount() {return mList.size();}/*** 返回每个Tag实例** @param context* @param position* @param parent* @return*/@Overridepublic View getView(Context context, int position, ViewGroup parent) {StarModel model = mList.get(position);View mView = null;ViewHolder viewHolder = null;if (mView == null) {viewHolder = new ViewHolder();//初始化ViewmView = inflater.inflate(R.layout.layout_3d_item, null);//初始化控件viewHolder.tv_star_name = mView.findViewById(R.id.txt_name);mView.setTag(viewHolder);} else {viewHolder = (ViewHolder) mView.getTag();}viewHolder.tv_star_name.setText(model.getName());return mView;}/*** 返回Tag数据** @param position* @return*/@Overridepublic Object getItem(int position) {return mList.get(position);}/*** 针对每个Tag返回一个权重值,该值与ThemeColor和Tag初始大小有关;* 一个简单的权重值生成方式是对一个数N取余或使用随机数** @param position* @return*/@Overridepublic int getPopularity(int position) {return 7;}/*** Tag主题色发生变化时会回调该方法** @param view* @param themeColor*/@Overridepublic void onThemeColorChanged(View view, int themeColor) {}class ViewHolder {private TextView tv_star_name;}}

layout_3d_item

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="vertical"><TextViewandroid:id="@+id/txt_name"android:layout_width="wrap_content"android:layout_height="wrap_content"android:drawableBottom="@mipmap/icon_xingqiu"android:text="群聊名称"android:gravity="center"android:textColor="#ffffffff"android:textSize="10dp" />
</LinearLayout>

Mainactivity

package com.demo.cn;import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;import androidx.appcompat.app.AppCompatActivity;import com.moxun.tagcloudlib.view.TagCloudView;import java.util.ArrayList;
import java.util.List;import butterknife.BindView;
import butterknife.ButterKnife;public class MainActivity extends AppCompatActivity {@BindView(R.id.mTagCloudView)TagCloudView mTagCloudView;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ButterKnife.bind(this);initdata();}private void initdata() {List<StarModel> starModel = new ArrayList<>();for (int i = 0; i < 30; i++) {starModel.add(new StarModel("群聊名称" + i));}StarViewAdapter mTagCloudViewAdapter = new StarViewAdapter(this, starModel);mTagCloudView.setAdapter(mTagCloudViewAdapter);// 设置 3d Tag View 条目点击事件mTagCloudView.setOnTagClickListener(new TagCloudView.OnTagClickListener() {@Overridepublic void onItemClick(ViewGroup parent, View view, int position) {Toast.makeText(MainActivity.this, "您点击了:" + starModel.get(position).getName(), Toast.LENGTH_LONG).show();}});}}

activity_main

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#473030"android:orientation="vertical"><com.moxun.tagcloudlib.view.TagCloudViewandroid:id="@+id/mTagCloudView"android:layout_width="match_parent"android:layout_height="match_parent"app:autoScrollMode="uniform"app:radiusPercent="0.8"app:scrollSpeed="1" /></LinearLayout>

StarModel

public class StarModel {private String name;public StarModel(String name) {this.name = name;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}

Android 仿soul首页星球旋转,可上下左右方向旋转相关推荐

  1. android高仿京东秒杀,Android仿京东首页秒杀倒计时

    本文实例为大家分享了Android仿京东首页秒杀倒计时的具体代码,供大家参考,具体内容如下 xml配置 android:layout_width="wrap_content" an ...

  2. Android仿微信首页下拉显示小程序列表

    花点时间重新熟悉一下AndroidUI方面的东西,把古董PullToRefreshView又撸了一遍,技术这种东西真是忘得快啊...在基础上新增一点东西,粗糙地实现了仿微信首页下拉显示小程序列表的样式 ...

  3. android微信下拉出现小程序,Android仿微信首页下拉显示小程序列表

    花点时间重新熟悉一下AndroidUI方面的东西,把古董PullToRefreshView又撸了一遍,技术这种东西真是忘得快啊...在基础上新增一点东西,粗糙地实现了仿微信首页下拉显示小程序列表的样式 ...

  4. android 仿蘑菇街首页,高仿蘑菇街欢迎页

    蘑菇街欢迎页 蘑菇街欢迎页.gif 高仿效果 高仿版本.gif 前言 本文将介绍如何对蘑菇街欢迎页效果进行分析,拆分,并一步步实现1个高仿版本,最重要的设计思路包括以下2点: 1.ViewPager切 ...

  5. android支付宝动态更新,Android仿支付宝首页下拉刷新

    题外话 学习了Behavior之后,发现效果都可以通过Behavior来实现,包括支付宝首页的下拉刷新效果,其重点效果指标在于下滑上部分的布局,同样能够进行下拉刷新,其下拉刷新的布局展开的位置在中间部 ...

  6. android仿支付宝首页更多、应用编辑界面

    [github地址](https://github.com/oldbirdy/recyclerdemo "github地址") 项目越来越大,模块越来越多,首页上展示的东西又不能全 ...

  7. android仿微博首页布局,Android仿微博首页Tab加号弹窗功能

    本文实例为大家分享了Android微博首页Tab加号弹窗展示的具体代码,供大家参考,具体内容如下 Activity部分的代码 package com.ting.tab; import android. ...

  8. android首页新颖,Android仿转转首页banner

    banner_g--.gif 效果由来 我司设计一向比较喜欢高大上的东西(我也喜欢...),无意中看到转转首页banner动画不错,想得之,由于项目工期和人手限制,遭到IOS开发和我的强烈反对,设计也 ...

  9. Android 仿UC首页 某个版本--coor

    1. <?xml version="1.0" encoding="utf-8"?> <android.support.design.widge ...

最新文章

  1. phpMyAdmin 数据库添加int类型的值时默认设为唯一主键的问题解决
  2. 判断远程文件是否存在
  3. Delphi(Tuxedo,BDE,ADO)三合一数据集组件HsTxQuery
  4. 《格理论与密码学》笔记一
  5. DCMTK:DSRNumericMeasurementValue类的测试程序
  6. Eclipse europa 更新时 Error retrieving feature.xml. [error in opening zip file]的解决
  7. C Primer plus 后续学习环境配置
  8. iOS开发Assertion failure in -[AFJSONRequestSerializer requestWithMethod:URLString:parameters:error:]
  9. 计算机教室电气设计规范,车库电气设计规范.docx
  10. php隐藏下载外链,教你如何去掉友荐和无觅的隐藏外链和版权链接
  11. 计算机系统复制文件,电脑没法复制文件?教您解决电脑没法复制文件
  12. imap收取163/126邮件报错
  13. 唯美的英文短文!!!
  14. sshd启动失败,一直重启
  15. Web网页调用BIMFACE模型方法
  16. shopify cli 的命令
  17. MCMC_Gibbs/MH采样的简单案例R代码实现
  18. 类模板里面的函数写在类模板里面和写在类模板的外面,且在1个.cpp文件中
  19. 【Python】和【Jupyter notebook】的正确安装方式
  20. Optional类的常用方法

热门文章

  1. Python绘制双坐标图
  2. 世纪佳缘 助手 免 邮票 群发 照片下载 信息检索等(完全功能版)
  3. 数据挖掘需要掌握的技能
  4. 基于RTEMS的阿波罗STM32F429开发板(正点原子)适配
  5. 锐捷路由器如何配置虚拟服务器,锐捷路由器配置命令完美宝典
  6. 马哲概述 如何理解商品的使用价值与价值以及货币,纸币
  7. 织梦php版本图片不能上传,让dedecms织梦后台支持上传bmp格式的图片的教程
  8. Opensource Licenses
  9. ckplayer ajax,谁能帮我做一个脚本啊?能让这个网页视频播放可以拉动进度条 可以快进...
  10. [洛谷P4492] [HAOI2018]苹果树