package com.example.ActivityOptionsDemo; import android.app.Activity; import android.app.ActivityOptions; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.Color; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.InsetDrawable; import android.os.Build; import android.os.Bundle; import android.text.AndroidCharacter; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; import android.widget.*; import java.util.Collections; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; public class HomeActivity extends Activity { /** * Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); GridView grid = (GridView) findViewById(R.id.grid); grid.setAdapter(new HoloTilesAdapter()); } public class HoloTilesAdapter extends BaseAdapter { private static final int TILES_COUNT = 60; private final int[] COLOURS = {getResources().getColor(R.color.blue), getResources().getColor(R.color.green), getResources().getColor(R.color.purple), getResources().getColor(R.color.red), getResources().getColor(R.color.yellow) }; private final int[] DRAWABLES = {R.drawable.blue_tile, R.drawable.green_tile, R.drawable.purple_tile, R.drawable.red_tile, R.drawable.yellow_tile }; @Override public int getCount() { return TILES_COUNT; } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ImageView v; if (convertView == null) { v = (ImageView) getLayoutInflater().inflate(R.layout.holo_tile, parent, false); } else { v = (ImageView) convertView; } final int colour = COLOURS[position % 5]; v.setImageDrawable(getResources().getDrawable(DRAWABLES[position % 5])); v.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent i = new Intent(HomeActivity.this, DetailActivity.class); i.putExtra(DetailActivity.EXTRA_COLOUR, colour); Bundle b = null; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { //b = ActivityOptions.makeScaleUpAnimation(view, 0, 0, view.getWidth(), // view.getHeight()).toBundle(); Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888); bitmap.eraseColor(colour); b = ActivityOptions.makeThumbnailScaleUpAnimation(view, bitmap, 0, 0).toBundle(); } startActivity(i, b); } } ); return v; } } // end HoloTilesAdapter }