当前位置: 首页 > 编程笔记 >

Android实现3D标签云效果

琴修为
2023-03-14
本文向大家介绍Android实现3D标签云效果,包括了Android实现3D标签云效果的使用技巧和注意事项,需要的朋友参考一下

最近业务需求,要求实现一个3D星球环绕效果,经过百般查找,终于找到了这个功能。

来先看看效果图:

首先还是添加第三方依赖库:

compile 'com.moxun:tagcloudlib:1.1.0' 

布局:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout 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" 
 tools:context="com.example.administrator.my3d_demo.MainActivity"> 
 
 <com.moxun.tagcloudlib.view.TagCloudView 
  android:id="@+id/tag_cloud" 
  android:layout_width="match_parent" 
  android:layout_height="match_parent" 
  android:layout_margin="10dp" 
  app:autoScrollMode="uniform" 
  app:darkColor="#ff00ff00" 
  app:lightColor="#ffff0000" 
  app:radiusPercent="0.5" 
  app:scrollSpeed="3" /> 
 
</android.support.constraint.ConstraintLayout> 

MainActivity代码:

package com.example.administrator.my3d_demo; 
 
import android.graphics.Color; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
 
import com.moxun.tagcloudlib.view.TagCloudView; 
 
public class MainActivity extends AppCompatActivity { 
 
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
  setContentView(R.layout.activity_main); 
 
  TagCloudView tagCloudView = (TagCloudView) findViewById(R.id.tag_cloud); 
  tagCloudView.setBackgroundColor(Color.LTGRAY); 
 
  TextTagsAdapter tagsAdapter = new TextTagsAdapter(new String[20]); 
  tagCloudView.setAdapter(tagsAdapter); 
 } 
} 

一个适配器代码:

package com.example.administrator.my3d_demo; 
 
import android.content.Context; 
import android.support.annotation.NonNull; 
import android.util.Log; 
import android.view.Gravity; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.TextView; 
 
import com.moxun.tagcloudlib.view.TagsAdapter; 
 
import java.util.ArrayList; 
import java.util.Collections; 
import java.util.List; 
import java.util.Random; 
 
public class TextTagsAdapter extends TagsAdapter { 
 
 private List<String> dataSet = new ArrayList<>(); 
 
 public TextTagsAdapter(@NonNull String... data) { 
  dataSet.clear(); 
  Collections.addAll(dataSet, data); 
 } 
 
 @Override 
 public int getCount() { 
  return dataSet.size(); 
 } 
 
 @Override 
 public View getView(final Context context, final int position, ViewGroup parent) { 
  String[] name = {"1", "2", "3", "4", "5", "6", "7", "8", "9"}; 
  /*int[] name={R.mipmap.ic_launcher,R.mipmap.ic_launcher,R.mipmap.ic_launcher, 
    R.mipmap.ic_launcher,R.mipmap.ic_launcher,R.mipmap.ic_launcher, 
    R.mipmap.ic_launcher,R.mipmap.ic_launcher,R.mipmap.ic_launcher};*/ 
  Random rand = new Random(); 
  int randNum = rand.nextInt(9); 
 
  TextView tv = new TextView(context); 
  ViewGroup.MarginLayoutParams lp = new ViewGroup.MarginLayoutParams(100, 100); 
  tv.setLayoutParams(lp); 
  tv.setText("No." + name[randNum]); 
  tv.setGravity(Gravity.CENTER); 
  tv.setOnClickListener(new View.OnClickListener() { 
   @Override 
   public void onClick(View v) { 
    Log.e("Click", "Tag " + position + " clicked."); 
   } 
  }); 
  return tv; 
 } 
 
 @Override 
 public Object getItem(int position) { 
  return dataSet.get(position); 
 } 
 
 @Override 
 public int getPopularity(int position) { 
  return position % 7; 
 } 
 
 @Override 
 public void onThemeColorChanged(View view, int themeColor) { 
  ((TextView) view).setTextColor(themeColor); 
 } 
} 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍js简单实现标签云效果实例,包括了js简单实现标签云效果实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js简单实现标签云效果。分享给大家供大家参考。具体如下: 这里的JavaScript标签云,基于妙味课堂miaov.js文件,非常流行的网页效果,在网页的右侧或左侧开辟一小块地方,用来显示热门的标签,形式就选择标签云吧,绝对酷哦,相信你也会喜欢。 运行效果如下图所示:

  • 本文向大家介绍vue实现标签云效果的方法详解,包括了vue实现标签云效果的方法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了vue实现标签云效果的方法。分享给大家供大家参考,具体如下: 闲扯两句 最近想给自己的博客上加上一个3D标签云的效果,用来表示自己博客文章的分组,网上找到了canvas实现的,还有a元素实现的解析3D标签云,我想让标签可以选择和点击,又不想在标签数量较多时操作a

  • 本文向大家介绍JavaScript实现的圆形浮动标签云效果实例,包括了JavaScript实现的圆形浮动标签云效果实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript实现的圆形浮动标签云效果。分享给大家供大家参考。具体如下: 这里介绍的JS标签云效果,在鼠标的作用下会自动转动,整体上围绕成一个圆形,各个标签之间无需Div代码,直接文字+链接的形式,有多少就显示多少,Ja

  • 本文向大家介绍Android实现3D翻转动画效果,包括了Android实现3D翻转动画效果的使用技巧和注意事项,需要的朋友参考一下 Android中并没有提供直接做3D翻转的动画,所以关于3D翻转的动画效果需要我们自己实现,那么我们首先来分析一下Animation 和 Transformation。 Animation动画的主要接口,其中主要定义了动画的一些属性比如开始时间,持续时间,是否重复播放

  • 本文向大家介绍基于Android实现3D翻页效果,包括了基于Android实现3D翻页效果的使用技巧和注意事项,需要的朋友参考一下 最近做了一个简单的3D效果翻页特效,先说说我的思路吧,首先我这个翻页效果并不是两个Activity之间的跳转,而是在同一个activity类切换不同的view而已。我现在的做法是单击一个button然后Gone当前的布局,然后把需要呈现的布局visible,在隐藏当前

  • 本文向大家介绍jQuery简单实现彩色云标签效果示例,包括了jQuery简单实现彩色云标签效果示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery简单实现彩色云标签效果的方法。分享给大家供大家参考,具体如下: 一、JS Code: 二、Html Code: 更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery常用插件及用法总结》、《jQuery常见经典特效汇总

  • 本文向大家介绍Angular4实现鼠标悬停3d倾斜效果,包括了Angular4实现鼠标悬停3d倾斜效果的使用技巧和注意事项,需要的朋友参考一下 Angular 是什么 Angular 是由谷歌开发与维护一个开发跨平台应用程序的框架,同时适用于手机与桌面。 Angular 有什么特点 基于 Angular 我们可以构建适用于所有平台的应用。比如:Web 应用、移动 Web 应用、移动应用和桌面应用等

  • 本文向大家介绍jQuery实现标签页效果实战(4),包括了jQuery实现标签页效果实战(4)的使用技巧和注意事项,需要的朋友参考一下 今天我们来完成《jQuery实战》系列的标签页效果。先来看一看效果图 这里有两部分的内容,上面是一个标签页的效果,下面也是一个标签页的效果。在实际应用中也经常会见到标签页的效果,它的作用主要是在页面可视区有限的情况下展示更多的内容。当用户想看其他内容的时候不需要离