/* * Copyright (C) 2010 Cyril Mottier (http://www.cyrilmottier.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.cyrilmottier.android.gdcatalog; import greendroid.app.GDActivity; import greendroid.widget.ActionBarItem; import greendroid.widget.ActionBarItem.Type; import greendroid.widget.QuickAction; import greendroid.widget.QuickActionBar; import greendroid.widget.QuickActionGrid; import greendroid.widget.QuickActionWidget; import greendroid.widget.QuickActionWidget.OnQuickActionClickListener; import android.content.Context; import android.graphics.Color; import android.graphics.ColorFilter; import android.graphics.LightingColorFilter; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.view.View; import android.widget.Toast; public class QuickActionActivity extends GDActivity { private QuickActionWidget mBar; private QuickActionWidget mGrid; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setActionBarContentView(R.layout.quick_action); prepareQuickActionBar(); prepareQuickActionGrid(); addActionBarItem(Type.Edit); } public void onShowGrid(View v) { mGrid.show(v); } public void onShowBar(View v) { mBar.show(v); } @Override public boolean onHandleActionBarItemClick(ActionBarItem item, int position) { switch (position) { case 0: onShowGrid(item.getItemView()); break; default: return super.onHandleActionBarItemClick(item, position); } return true; } private void prepareQuickActionBar() { mBar = new QuickActionBar(this); mBar.addQuickAction(new MyQuickAction(this, R.drawable.gd_action_bar_compose, R.string.gd_compose)); mBar.addQuickAction(new MyQuickAction(this, R.drawable.gd_action_bar_export, R.string.gd_export)); mBar.addQuickAction(new MyQuickAction(this, R.drawable.gd_action_bar_share, R.string.gd_share)); mBar.setOnQuickActionClickListener(mActionListener); } private void prepareQuickActionGrid() { mGrid = new QuickActionGrid(this); mGrid.addQuickAction(new MyQuickAction(this, R.drawable.gd_action_bar_compose, R.string.gd_compose)); mGrid.addQuickAction(new MyQuickAction(this, R.drawable.gd_action_bar_export, R.string.gd_export)); mGrid.addQuickAction(new MyQuickAction(this, R.drawable.gd_action_bar_share, R.string.gd_share)); mGrid.addQuickAction(new MyQuickAction(this, R.drawable.gd_action_bar_search, R.string.gd_search)); mGrid.addQuickAction(new MyQuickAction(this, R.drawable.gd_action_bar_edit, R.string.gd_edit)); mGrid.addQuickAction(new MyQuickAction(this, R.drawable.gd_action_bar_locate, R.string.gd_locate)); mGrid.setOnQuickActionClickListener(mActionListener); } private OnQuickActionClickListener mActionListener = new OnQuickActionClickListener() { public void onQuickActionClicked(QuickActionWidget widget, int position) { Toast.makeText(QuickActionActivity.this, "Item " + position + " clicked", Toast.LENGTH_SHORT).show(); } }; private static class MyQuickAction extends QuickAction { private static final ColorFilter BLACK_CF = new LightingColorFilter(Color.BLACK, Color.BLACK); public MyQuickAction(Context ctx, int drawableId, int titleId) { super(ctx, buildDrawable(ctx, drawableId), titleId); } private static Drawable buildDrawable(Context ctx, int drawableId) { Drawable d = ctx.getResources().getDrawable(drawableId); d.setColorFilter(BLACK_CF); return d; } } }