From 0329338ffaa72ae6deeed4a10a6d8e2527565936 Mon Sep 17 00:00:00 2001 From: "moxun.ljf" Date: Fri, 4 Mar 2016 11:57:44 +0800 Subject: [PATCH] update sample app --- app/src/main/AndroidManifest.xml | 2 +- .../java/com/moxun/tagcloud/MainActivity.java | 31 +++++++++++--- .../com/moxun/tagcloud/TextTagsAdapter.java | 13 +++--- .../com/moxun/tagcloud/ViewTagsAdapter.java | 39 ++++++++++++++++++ app/src/main/res/layout/activity_main.xml | 15 ++++++- app/src/main/res/layout/tag_item_view.xml | 20 +++++++++ app/src/main/res/mipmap-xxxhdpi/android.png | Bin 0 -> 6079 bytes app/src/main/res/mipmap-xxxhdpi/icon.png | Bin 0 -> 22540 bytes app/src/main/res/values/strings.xml | 2 +- 9 files changed, 108 insertions(+), 14 deletions(-) create mode 100644 app/src/main/java/com/moxun/tagcloud/ViewTagsAdapter.java create mode 100644 app/src/main/res/layout/tag_item_view.xml create mode 100644 app/src/main/res/mipmap-xxxhdpi/android.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/icon.png diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e5ad948..1407c6c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -4,7 +4,7 @@ diff --git a/app/src/main/java/com/moxun/tagcloud/MainActivity.java b/app/src/main/java/com/moxun/tagcloud/MainActivity.java index 002e408..bf18252 100644 --- a/app/src/main/java/com/moxun/tagcloud/MainActivity.java +++ b/app/src/main/java/com/moxun/tagcloud/MainActivity.java @@ -2,20 +2,41 @@ import android.graphics.Color; import android.os.Bundle; -import android.support.v7.app.ActionBarActivity; +import android.support.v7.app.AppCompatActivity; +import android.view.View; import com.moxun.tagcloudlib.view.TagCloudView; -public class MainActivity extends ActionBarActivity { +public class MainActivity extends AppCompatActivity { + + private TagCloudView tagCloudView; + private TextTagsAdapter textTagsAdapter; + private ViewTagsAdapter viewTagsAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - TagCloudView tagCloudView = (TagCloudView) findViewById(R.id.tag_cloud); + tagCloudView = (TagCloudView) findViewById(R.id.tag_cloud); tagCloudView.setBackgroundColor(Color.LTGRAY); - TextTagsAdapter tagsAdapter = new TextTagsAdapter(new String[13]); - tagCloudView.setAdapter(tagsAdapter); + textTagsAdapter = new TextTagsAdapter(new String[20]); + viewTagsAdapter = new ViewTagsAdapter(); + + tagCloudView.setAdapter(textTagsAdapter); + + findViewById(R.id.tag_text).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + tagCloudView.setAdapter(textTagsAdapter); + } + }); + + findViewById(R.id.tag_view).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + tagCloudView.setAdapter(viewTagsAdapter); + } + }); } } diff --git a/app/src/main/java/com/moxun/tagcloud/TextTagsAdapter.java b/app/src/main/java/com/moxun/tagcloud/TextTagsAdapter.java index e487572..d4c1927 100644 --- a/app/src/main/java/com/moxun/tagcloud/TextTagsAdapter.java +++ b/app/src/main/java/com/moxun/tagcloud/TextTagsAdapter.java @@ -1,5 +1,6 @@ package com.moxun.tagcloud; +import android.app.Application; import android.content.Context; import android.support.annotation.NonNull; import android.util.Log; @@ -7,6 +8,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.TextView; +import android.widget.Toast; import com.moxun.tagcloudlib.view.TagsAdapter; @@ -24,7 +26,7 @@ public class TextTagsAdapter extends TagsAdapter { public TextTagsAdapter(@NonNull String... data) { dataSet.clear(); - Collections.addAll(dataSet,data); + Collections.addAll(dataSet, data); } @Override @@ -33,16 +35,17 @@ public int getCount() { } @Override - public View getView(Context context, final int position, ViewGroup parent) { + public View getView(final Context context, final int position, ViewGroup parent) { TextView tv = new TextView(context); - ViewGroup.MarginLayoutParams lp = new ViewGroup.MarginLayoutParams(100, 100); + ViewGroup.MarginLayoutParams lp = new ViewGroup.MarginLayoutParams(200, 100); tv.setLayoutParams(lp); tv.setText("No." + position); tv.setGravity(Gravity.CENTER); tv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - Log.e("Click","Tag " + position + " clicked."); + Log.e("Click", "Tag " + position + " clicked."); + Toast.makeText(context, "Tag " + position + " clicked", Toast.LENGTH_SHORT).show(); } }); return tv; @@ -60,6 +63,6 @@ public int getPopularity(int position) { @Override public void onThemeColorChanged(View view, int themeColor) { - ((TextView)view).setTextColor(themeColor); + ((TextView) view).setTextColor(themeColor); } } \ No newline at end of file diff --git a/app/src/main/java/com/moxun/tagcloud/ViewTagsAdapter.java b/app/src/main/java/com/moxun/tagcloud/ViewTagsAdapter.java new file mode 100644 index 0000000..656840b --- /dev/null +++ b/app/src/main/java/com/moxun/tagcloud/ViewTagsAdapter.java @@ -0,0 +1,39 @@ +package com.moxun.tagcloud; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.moxun.tagcloudlib.view.TagsAdapter; + +/** + * Created by moxun on 16/3/4. + */ +public class ViewTagsAdapter extends TagsAdapter { + @Override + public int getCount() { + return 20; + } + + @Override + public View getView(Context context, int position, ViewGroup parent) { + View view = LayoutInflater.from(context).inflate(R.layout.tag_item_view, parent, false); + return view; + } + + @Override + public Object getItem(int position) { + return null; + } + + @Override + public int getPopularity(int position) { + return position % 5; + } + + @Override + public void onThemeColorChanged(View view, int themeColor) { + view.findViewById(R.id.android_eye).setBackgroundColor(themeColor); + } +} diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index eb429f1..0c3ea0b 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -11,13 +11,24 @@ +