Saturday, July 20, 2013

Drawer

activity_main.xml
---------------------
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <FrameLayout
        android:id="@+id/main"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </FrameLayout>

    <ListView
        android:id="@+id/drawer"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="#FFF"
        android:choiceMode="singleChoice"
        android:divider="#ffffff"
        android:dividerHeight="1dip"/>

</android.support.v4.widget.DrawerLayout>

red.xml
---------
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="#990000">  

</LinearLayout>
green.xml
-----------
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" 
    android:background="#228B22">
    

</LinearLayout>
blue.xml
-----------
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" 
    android:background="#000080">
    

</LinearLayout>
home.xml
-----------
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#999999"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="Switch to right for navigation"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/textView1"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="16dp"
        android:text="Home"
        android:textAppearance="?android:attr/textAppearanceLarge" />

</RelativeLayout>
MainActivity.java
----------------------
package com.kundan.drawer_navigation;

import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.widget.DrawerLayout;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends FragmentActivity{
final String[] data ={"red","green","blue"};
final String[] fragments ={
"com.kundan.drawer_navigation.FragmentOne",
"com.kundan.drawer_navigation.FragmentTwo",
"com.kundan.drawer_navigation.FragmentThree",
"com.kundan.drawer_navigation.Home"
};
ListView lv;
DrawerLayout layout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv=(ListView) findViewById(R.id.drawer);
layout=(DrawerLayout) findViewById(R.id.drawer_layout);
ArrayAdapter<String>adapter=new ArrayAdapter<String>(getActionBar().getThemedContext(), android.R.layout.simple_list_item_1,data);
lv.setAdapter(adapter);
lv.setBackgroundColor(Color.BLACK);
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapter, View view, final int position,long id) {
layout.setDrawerListener(new DrawerLayout.SimpleDrawerListener() {
@Override
                     public void onDrawerClosed(View drawerView){
                             super.onDrawerClosed(drawerView);
                             FragmentTransaction tx = getSupportFragmentManager().beginTransaction();
                             tx.replace(R.id.main, Fragment.instantiate(MainActivity.this, fragments[position]));
                             tx.commit();
                     }
});
layout.closeDrawer(lv);
}
});
FragmentTransaction ft=getSupportFragmentManager().beginTransaction();
ft.replace(R.id.main, Fragment.instantiate(MainActivity.this,fragments[3] ));
ft.commit();
}

@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;
}

}
FragmentOne.java
------------------------
package com.kundan.drawer_navigation;

import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class FragmentOne extends Fragment {
public static Fragment newInstance(Context context) {
    FragmentOne f = new FragmentOne();
 
       return f;
   }
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ViewGroup root=(ViewGroup) inflater.inflate(R.layout.red, container ,false);
return root;
}
}
FragmentTwo.java
----------------------
package com.kundan.drawer_navigation;

import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class FragmentTwo extends Fragment {
public static Fragment newInstance(Context context) {
    FragmentTwo f = new FragmentTwo();
 
       return f;
   }
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ViewGroup root=(ViewGroup) inflater.inflate(R.layout.green, container ,false);
return root;
}
}
FragmentThree.java
------------------------
package com.kundan.drawer_navigation;

import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class FragmentThree extends Fragment {
public static Fragment newInstance(Context context) {
    FragmentThree f = new FragmentThree();
 
       return f;
   }
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ViewGroup root=(ViewGroup) inflater.inflate(R.layout.blue, container ,false);
return root;
}
}
Home.java
------------
package com.kundan.drawer_navigation;

import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class Home extends Fragment {
public static Fragment newInstance(Context context) {
Home f = new Home();
 
       return f;
   }
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ViewGroup root=(ViewGroup) inflater.inflate(R.layout.home, container ,false);
return root;
}
}

No comments:

Post a Comment