Android,3D 라벨 클 라 우 드 단순 효과 구현
1.3D 태그 구름
TagCloudView 는 완전히 Android View Group 을 기반 으로 작 성 된 컨트롤 로 View 를 3D 태그 클 라 우 드 로 표시 하고 모든 방향 으로 스크롤 하 는 것 을 지원 합 니 다.
GitHub 의링크 주소
(1)효과
페이지 에 있 는 탭 의 데 이 터 는 스스로 정의 할 수 있 고 데이터 페이지 는 미 끄 러 지 며 선택 할 수 있 습 니 다.
(2)Android Studio 에서 사용
1.build.gradle 에 추가
compile ‘com.moxun:tagcloudlib:1.0.3'
2.레이아웃 파일 에 도입
3.Adapter 계승 TagsAdapter 를 설정 하여 다음 과 같은 방법 을 실현 합 니 다.
(1)public int getCount();
태그 개수 되 돌리 기
(2)public View getView(Context context, int position, ViewGroup parent);
모든 태그 인 스 턴 스 를 되 돌려 줍 니 다.
(3)public Object getItem(int position);
태그 데이터 되 돌리 기
(4)public int getPopularity(int position);
태그 마다 값 을 되 돌려 줍 니 다.하지만 어떤 역할 을 합 니까?
4.라벨 클 라 우 드 대상 의 속성 설정
2.간단 한 사용 예시
(1)레이아웃 파일 activitymain.xml 디자인
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.moxun.tagcloudlib.view.TagCloudView
android:id="@+id/tcv_tags"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:autoScrollMode="uniform"
app:radiusPercent="0.8" />
</RelativeLayout>
(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)디자인 글꼴 의 색상 선택 기(res 폴 더 아래 color 폴 더 만 들 기,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)어댑터 클래스 만 들 기
package com.lwz.cloud;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.moxun.tagcloudlib.view.TagsAdapter;
import java.util.List;
/**
*
*/
public class CursorTagsAdapter extends TagsAdapter {
private List<String> mList;
public CursorTagsAdapter( List<String> list) {
this.mList = list;
}
@Override
public int getCount() {
return mList.size();
}
@Override
public View getView(Context context, int position, ViewGroup parent) {
TextView tv = (TextView) View.inflate(context, R.layout.item_tag, null);
tv.setText(getItem(position));
return tv;
}
@Override
public String getItem(int position) {
return mList.get(position);
}
@Override
public int getPopularity(int position) {
return 1;
}
@Override
public void onThemeColorChanged(View view, int themeColor) {
}
}
(5)주요 방법 호출 클래스
package com.lwz.cloud;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
import com.moxun.tagcloudlib.view.TagCloudView;
import java.util.ArrayList;
import java.util.List;
/**
*
*/
public class MainActivity extends AppCompatActivity implements TagCloudView.OnTagClickListener {
TagCloudView tcvTags;//
List<String> list = new ArrayList<>();//
List<String> listClick = new ArrayList<>();//
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//
for (int i = 0; i < 20; i++) {
list.add(" " + i);
}
tcvTags = (TagCloudView) findViewById(R.id.tcv_tags);
//
tcvTags.setOnTagClickListener(this);
//
CursorTagsAdapter adapter = new CursorTagsAdapter(list);
tcvTags.setAdapter(adapter);
}
/**
*
*/
@Override
public void onItemClick(ViewGroup parent, View view, int position) {
view.setSelected(!view.isSelected());//
if (view.isSelected()) {
//
listClick.add(list.get(position));
} else {
//
listClick.remove(list.get(position));
}
Toast.makeText(this, " :" + listClick.toString(), Toast.LENGTH_SHORT).show();
}
}
프로그램 실행 후 인터페이스:탭 몇 개 를 누 르 면 표시 되 는 인터페이스:
이것 이 바로 라벨 클 라 우 드 의 간단 한 예 이다.이 탭 클 라 우 드 는 기본적으로 고 른 속도 로 굴 러 갑 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.