Pages

Friday 3 February 2012

Starting Action Bar with Ice cream sandwich

Tried the action bar for android ice cream sandwich nice feature. As new design patterns Android dev suggests on their blog to use action bar in place of the menu bar  (Say Goodbye to the Menu Button
). How ever action bar is available from honeycomb you can build with latest android sdk and give minimum support but it will appear as menu in device running lower version then honeycomb. unfortunately compatibility library also not support the action bar. Here is the simple example I have tried.


 //menu.xml which appears in action bar.







<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:android="http://schemas.android.com/apk/res/android" >



    <item

        android:id="@+id/item1"

        android:icon="@drawable/ic_launcher"

        android:showAsAction="always"

        android:title="item1"/>



    <group android:id="@+id/group" >

        <item

            android:id="@+id/group_item1"

            android:icon="@drawable/ic_launcher"

            android:onClick="onGroupItemClick"

            android:title="group_item1"/>

        <item

            android:id="@+id/group_item2"

            android:icon="@drawable/ic_launcher"

            android:onClick="onGroupItemClick"

            android:title="group_item2"/>

    </group>



    <item

        android:id="@+id/submenu"

        android:showAsAction="ifRoom|withText"

        android:title="submenu">

        <menu>

            <item

                android:id="@+id/submenu_item1"

                android:title="submenu_item1"/>

        </menu>

    </item>

</menu>



ActionBarExampleActivity.java


package com.techin.actionbar;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;

public class ActionBarExampleActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu, menu);
        return true;
    }
    
    public void onGroupItemClick(MenuItem item) {
        // One of the group items (using the onClick attribute) was clicked
        // The item parameter passed here indicates which item it is
        // All other menu item clicks are handled by onOptionsItemSelected()
    }
}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.techin.actionbar"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="3" android:targetSdkVersion="14" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".ActionBarExampleActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

No comments:

Post a Comment