Android Drop Down

Jyotishgher Astrology
By -
0


1. Select File -> New -> Project -> Android Application Project (or) Android Project.

2. Open res -> layout -> activity_main.xml (or) main.xml and add following code:

Navigation Type -> Dropdown

File structure In this example

activity_main.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    tools:ignore="MergeRootFrame" />


3. Create and Write following into layout/fragment_main_dummy.xml

fragment_main_dummy.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity$DummySectionFragment" >

    <TextView
        android:id="@+id/section_label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</RelativeLayout>

4. Write following into layout/string.xml

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

    <string name="app_name">Dropdown Navigation</string>
    <string name="action_settings">Settings</string>
    <string name="title_section1">Section 1</string>
    <string name="title_section2">Section 2</string>
    <string name="title_section3">Section 3</string>

</resources>

5. write following into src/MainActivity.java

MainActivity.java
package com.example.dropdownnavigation;

import android.app.ActionBar;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

public class MainActivity extends FragmentActivity implements
  ActionBar.OnNavigationListener {

 /**
  * The serialization (saved instance state) Bundle key representing the
  * current dropdown position.
  */
 private static final String STATE_SELECTED_NAVIGATION_ITEM = "selected_navigation_item";

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);

  // Set up the action bar to show a dropdown list.
  final ActionBar actionBar = getActionBar();
  actionBar.setDisplayShowTitleEnabled(false);
  actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);

  // Set up the dropdown list navigation in the action bar.
  actionBar.setListNavigationCallbacks(
  // Specify a SpinnerAdapter to populate the dropdown list.
    new ArrayAdapter(actionBar.getThemedContext(),
      android.R.layout.simple_list_item_1,
      android.R.id.text1, new String[] {
        getString(R.string.title_section1),
        getString(R.string.title_section2),
        getString(R.string.title_section3), }), this);
 }

 @Override
 public void onRestoreInstanceState(Bundle savedInstanceState) {
  // Restore the previously serialized current dropdown position.
  if (savedInstanceState.containsKey(STATE_SELECTED_NAVIGATION_ITEM)) {
   getActionBar().setSelectedNavigationItem(
     savedInstanceState.getInt(STATE_SELECTED_NAVIGATION_ITEM));
  }
 }

 @Override
 public void onSaveInstanceState(Bundle outState) {
  // Serialize the current dropdown position.
  outState.putInt(STATE_SELECTED_NAVIGATION_ITEM, getActionBar()
    .getSelectedNavigationIndex());
 }

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the menu; this adds items to the action bar if it is present.
  getMenuInflater().inflate(R.menu.main, menu);
  return true;
 }

 @Override
 public boolean onNavigationItemSelected(int position, long id) {
  // When the given dropdown item is selected, show its contents in the
  // container view.
  Fragment fragment = new DummySectionFragment();
  Bundle args = new Bundle();
  args.putInt(DummySectionFragment.ARG_SECTION_NUMBER, position + 1);
  fragment.setArguments(args);
  getSupportFragmentManager().beginTransaction()
    .replace(R.id.container, fragment).commit();
  return true;
 }

 /**
  * A dummy fragment representing a section of the app, but that simply
  * displays dummy text.
  */
 public static class DummySectionFragment extends Fragment {
  /**
   * The fragment argument representing the section number for this
   * fragment.
   */
  public static final String ARG_SECTION_NUMBER = "section_number";

  public DummySectionFragment() {
  }

  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
   View rootView = inflater.inflate(R.layout.fragment_main_dummy,
     container, false);
   TextView dummyTextView = (TextView) rootView
     .findViewById(R.id.section_label);
   dummyTextView.setText(Integer.toString(getArguments().getInt(
     ARG_SECTION_NUMBER)));
   return rootView;
  }
 }

}

6. Run the project by right clicking project Run as -> Android Project.

Result Screenshot
Android Drop Down Navigation Demo

Post a Comment

0Comments

Post a Comment (0)