WELCOME Abdennour : Software engineer

Apr 27, 2012

Best Practices : Tuto1 Sliding Draw with Android




SlidingDrawer :
-hides content out of the screen(cache le contenu hors de l'écran.)
-allows user to drag a handle to bring the content on screen.

==> SlidingDrawer= define the id of the handle + the content:
That Meaning :When I click On "The "Handle" ,"the Content" will appear



handle
small graphic ==> indicate opening/closing ctrl
content
type of container holding(as GridView)
=>SlidingDraw.animateClose();  //hide(cacher) le slidingDraw

Notes : 
1)SlidingDrawer can be used vertically or horizontally.
2)SlidingDrawer should be used as an overlay(superposition de layout) inside layouts. 
=>This means SlidingDrawer should only be used inside of a 
FrameLayout or a RelativeLayout for instance. 
3) The size of the SlidingDrawer defines how much space the content will occupy once slid out .
=>SlidingDrawer should usually use fill_parent for both its dimensions. 



Example1 : 
<SlidingDrawer
  android:id="@+id/drawer"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:handle="@+id/handle"
  android:content="@+id/content">
     <ImageView
        android:id="@id/handle"
        android:layout_width="88dip"
        android:layout_height="44dip" />
     <GridView
        android:id="@id/content"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />
</SlidingDrawer>

Example2 : Full Example : 
1)In main.Xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#FF4444CC" >

    <SlidingDrawer
        android:id="@+id/drawer"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentBottom="true"
        android:content="@+id/content"
        android:handle="@+id/handle" >

        <ImageView
            android:id="@id/handle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_launcher" />

        <LinearLayout
            android:id="@id/content"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="#ff006666"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/label1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#ff006666"
                android:text="Line 1"
                android:textSize="22sp" />

            <TextView
                android:id="@+id/label2"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#ff669900"
                android:text="Line 2"
                android:textSize="22sp" />

            <TextView
                android:id="@+id/label3"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#ff0000cc"
                android:text="Line 3"
                android:textSize="22sp" />

            <TextView
                android:id="@+id/filler1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:textSize="6sp" />

            <Button
                android:id="@+id/btn1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="4px"
                android:text=" btn1 - time? " />

            <Button
                android:id="@+id/btn2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="4px"
                android:text=" btn2 - close " />
        </LinearLayout>
    </SlidingDrawer>

</RelativeLayout>

2)Activity Code : 


package slm.Abdennour.android.formation.slidingdraw;



import java.util.Date;



import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.SlidingDrawer;

import android.widget.TextView;



public class slidingdrawManager extends Activity {

  Button btn1;

  Button btn2;

  TextView label1;

  TextView label2;

  TextView label3;

  SlidingDrawer myDrawer;



  /** Called when the activity is first created. */

  @Override

  public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    myDrawer = (SlidingDrawerfindViewById(R.id.drawer);

    btn1 = (ButtonfindViewById(R.id.btn1);

    btn2 = (ButtonfindViewById(R.id.btn2);

    label1 = (TextViewfindViewById(R.id.label1);

    label2 = (TextViewfindViewById(R.id.label2);

    label3 = (TextViewfindViewById(R.id.label3);

    btn1.setOnClickListener(new OnClickListener() {

      @Override

      public void onClick(View v) {

        Date dt = new Date();

        String now = dt.toLocaleString();

        label1.setText("111 - Selem3leikom " + now);

        label2.setText("222 - Selem3leikom " + now);

        label3.setText("333 - Selem3leikom " + now);

      }

    });

    btn2.setOnClickListener(new OnClickListener() {

      @Override

      public void onClick(View v) {

        myDrawer.animateClose();

      }

    });

  }

}

3)Result : 










References : 
-->Victor Matoas's Android Tuto

No comments:

Post a Comment