package com.sqisland.android.graphics_demo;
import android.app.ListActivity;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import java.util.ArrayList;
public class MainActivity extends ListActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView footer = (TextView) LayoutInflater.from(this).inflate(
android.R.layout.simple_list_item_1, getListView(), false);
footer.setText(R.string.about);
getListView().addFooterView(footer);
final ArrayList<Demo> demos = new ArrayList<Demo>();
demos.add(new Demo(this, RainbowGradientActivity.class, R.string.rainbow_gradient));
demos.add(new Demo(this, PatternedTextActivity.class, R.string.patterned_text));
demos.add(new Demo(this, PeekThroughActivity.class, R.string.peek_through));
demos.add(new Demo(this, ClipRectActivity.class, R.string.clip_rect));
demos.add(new Demo(this, ColorMatrixActivity.class, R.string.color_matrix));
demos.add(new Demo(this, FourColorsActivity.class, R.string.four_colors));
demos.add(new Demo(this, PorterDuffActivity.class, R.string.porter_duff));
demos.add(new Demo(this, HollowTextActivity.class, R.string.hollow_text));
demos.add(new Demo(this, EmbossMaskFilterActivity.class, R.string.emboss_mask_filter));
demos.add(new Demo(this, BlurMaskFilterActivity.class, R.string.blur_mask_filter));
if (Build.VERSION.SDK_INT >= 17) {
demos.add(new Demo(this,
RenderscriptBlurActivity.class, R.string.renderscript_blur));
demos.add(new Demo(this,
RenderscriptConvolutionActivity.class, R.string.renderscript_convolution));
}
ArrayAdapter<Demo> adapter = new ArrayAdapter<Demo>(
this,
android.R.layout.simple_list_item_1,
demos);
getListView().setAdapter(adapter);
getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
if (position < demos.size()) {
Demo demo = demos.get(position);
startActivity(new Intent(MainActivity.this, demo.activityClass));
} else {
startActivity(new Intent(MainActivity.this, AboutActivity.class));
}
}
});
}
public static class Demo {
public final Class<?> activityClass;
public final String title;
public Demo(Context context, Class<?> activityClass, int titleId) {
this.activityClass = activityClass;
this.title = context.getString(titleId);
}
@Override
public String toString() {
return this.title;
}
}
}