Quick Action Demo
Posted by Sushant on September 15, 2011, filed in: Android Apps
2
Hello there! If you are new here, you might want to subscribe to the RSS feed for updates on this topic.
This example of will show how we can generate a Action list or a popup window on a button press.
Algorithm:
1.) Create a new project by File-> New -> Android Project name it QuickActionDemo.
2.) You will see some default code into your main.xml, strings.xml and android manifest file.
3.) Now write following code into your main.xml:
1.) Create a new project by File-> New -> Android Project name it QuickActionDemo.
2.) You will see some default code into your main.xml, strings.xml and android manifest file.
3.) Now write following code into your main.xml:
| 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 |     android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent">    <TextView        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:gravity="center"        android:textSize="17dp"        android:textStyle="bold"        android:text="Popup Window Action Demo"/>            <Button        android:id="@+id/btn2"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:padding="30dp"        android:text="Button"/>         </LinearLayout> | 
4.) Create ActionItem.java and write following code:
| 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 | packagecom.org.QuickActionActivity;importandroid.graphics.drawable.Drawable;importandroid.graphics.Bitmap;publicclassActionItem {    privateDrawable icon;    privateBitmap thumb;    privateString title;    privatebooleanselected;        publicActionItem() {}    publicActionItem(Drawable icon) {        this.icon = icon;    }    publicvoidsetTitle(String title) {        this.title = title;    }    publicString getTitle() {        returnthis.title;    }    publicvoidsetIcon(Drawable icon) {        this.icon = icon;    }    publicDrawable getIcon() {        returnthis.icon;    }    publicvoidsetSelected(booleanselected) {        this.selected = selected;    }    publicbooleanisSelected() {        returnthis.selected;    }    publicvoidsetThumb(Bitmap thumb) {        this.thumb = thumb;    }    publicBitmap getThumb() {        returnthis.thumb;    }} | 
5.) Create NewQAAdapter.java and write following:
| 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 
55 
56 
57 
58 
59 
60 | packagecom.org.QuickActionActivity;importandroid.view.View;importandroid.view.ViewGroup;importandroid.view.LayoutInflater;importandroid.content.Context;importandroid.widget.BaseAdapter;importandroid.widget.TextView;publicclassNewQAAdapter extendsBaseAdapter {    privateLayoutInflater mInflater;    privateString[] data;        publicNewQAAdapter(Context context) {         mInflater = LayoutInflater.from(context);    }    publicvoidsetData(String[] data) {        this.data = data;    }        @Override    publicintgetCount() {        returndata.length;    }    @Override    publicObject getItem(intitem) {        returndata[item];    }    @Override    publiclonggetItemId(intposition) {        returnposition;    }    @Override    publicView getView(intposition, View convertView, ViewGroup parent) {        ViewHolder holder;                if(convertView == null) {            convertView = mInflater.inflate(R.layout.list, null);                        holder      = newViewHolder();                        holder.mTitleText   = (TextView) convertView.findViewById(R.id.t_name);                        convertView.setTag(holder);        } else{            holder = (ViewHolder) convertView.getTag();        }        holder.mTitleText.setText(data[position]);                returnconvertView;    }    staticclassViewHolder {        TextView mTitleText;    }} | 
6.) Click here to download full code content and other src and res files.
Steps:
1.) Create a project named QuickActionDemo and set the information as stated in the image.
Build Target: Android 2.1
Application Name: QuickActionDemo
Package Name: com.org. QuickActionDemo
Activity Name: QuickActionDemo
Min SDK Version: 7
Application Name: QuickActionDemo
Package Name: com.org. QuickActionDemo
Activity Name: QuickActionDemo
Min SDK Version: 7
2.) Open QuickActionDemo.java file and write following code there:
| 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 
55 
56 
57 
58 
59 
60 
61 
62 
63 | packagecom.org.QuickActionActivity;importandroid.os.Bundle;importandroid.app.Activity;importandroid.widget.Button;importandroid.widget.Toast;importandroid.view.View;importandroid.view.View.OnClickListener;publicclassQuickActionActivity extendsActivity {    @Override    protectedvoidonCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);                setContentView(R.layout.main);                //Add action item        ActionItem addAction = newActionItem();                addAction.setTitle("Add");        addAction.setIcon(getResources().getDrawable(R.drawable.ic_add));        //Accept action item        ActionItem accAction = newActionItem();                accAction.setTitle("Accept");        accAction.setIcon(getResources().getDrawable(R.drawable.ic_accept));                //Upload action item        ActionItem upAction = newActionItem();                upAction.setTitle("Upload");        upAction.setIcon(getResources().getDrawable(R.drawable.ic_up));                finalQuickAction mQuickAction  = newQuickAction(this);                mQuickAction.addActionItem(addAction);        mQuickAction.addActionItem(accAction);        mQuickAction.addActionItem(upAction);                //setup the action item click listener        mQuickAction.setOnActionItemClickListener(newQuickAction.OnActionItemClickListener() {                     @Override            publicvoidonItemClick(intpos) {                                if(pos == 0) { //Add item selected                    Toast.makeText(QuickActionActivity.this, "Add item selected", Toast.LENGTH_SHORT).show();                } elseif(pos == 1) { //Accept item selected                    Toast.makeText(QuickActionActivity.this, "Accept item selected", Toast.LENGTH_SHORT).show();                } elseif(pos == 2) { //Upload item selected                    Toast.makeText(QuickActionActivity.this, "Upload items selected", Toast.LENGTH_SHORT).show();                }               }        });        Button btn2 = (Button) this.findViewById(R.id.btn2);        btn2.setOnClickListener(newOnClickListener() {            @Override            publicvoidonClick(View v) {                mQuickAction.show(v);                mQuickAction.setAnimStyle(QuickAction.ANIM_GROW_FROM_CENTER);            }        });    }}        | 
3.) Compile and build the project.
4.) Run on 2.1 simulator for the output.
4.) Run on 2.1 simulator for the output.
Output
