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 @@ +