您的位置:首页 > 移动开发 > Android开发

android 桌面程序 滑动抽屉 SlidingDraw,一个小小的demo

2011-09-06 21:10 246 查看
最近做的一个项目,用到了抽屉。意由心生,所以想写个关于抽屉的DEMO。

DEMO很简单,只要是会java的人都应该看的懂。开源的好处就是大家一起成长





类似于android:id="@id/handle" 就是引用系统的id。

<SlidingDrawer android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:handle="@+id/handle"

android:content="@+id/content" android:orientation="vertical"

android:id="@+id/slidingdrawer">

android:handle="@+id/handle"

android:content="@+id/content" 这两个必须要这样写,就像1+1=2一样,不要问我为什么,我也不知道。反正是系统的东西

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

<!--

设置背景图片

-->

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

android:layout_width="fill_parent" android:layout_height="fill_parent"

android:orientation="vertical" >

<!--

设置handle和content的id 必须要这样写,如果要问我为什么,我也不知道

-->

<SlidingDrawer android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:handle="@+id/handle"

android:content="@+id/content" android:orientation="vertical"

android:id="@+id/slidingdrawer">

<!--

设置handle,就是用一个图片按钮来处理滑动抽屉的

-->

<ImageButton android:id="@id/handle" android:layout_width="50dip"

android:layout_height="44dip" android:src="@drawable/icon" />

<!--

设置内容,一个布局View,其中包含一个文本框,当我们拖动的时候就会看到

-->

<LinearLayout android:id="@id/content"

android:layout_width="fill_parent" android:layout_height="fill_parent"

android:background="#ffffff">

<TextView android:text="这是一个滑动式抽屉的示例"

android:id="@+id/tv"

android:textSize="18px"

android:textColor="#000000"

android:gravity="center_vertical|center_horizontal"

android:layout_width="match_parent"

android:textStyle="bold"

android:layout_height="match_parent"></TextView>

</LinearLayout>

</SlidingDrawer>

</LinearLayout>

package com.SlidingDraw;

import android.app.Activity;

import android.os.Bundle;

import android.widget.ImageButton;

import android.widget.SlidingDrawer;

import android.widget.TextView;

public class SlidingDrawActivity extends Activity {

private SlidingDrawer mDrawer;

private ImageButton imbg;

private TextView tv;

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

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

imbg=(ImageButton)findViewById(R.id.handle);

mDrawer=(SlidingDrawer)findViewById(R.id.slidingdrawer);

tv=(TextView)findViewById(R.id.tv);

mDrawer.setOnDrawerOpenListener(new SlidingDrawer.OnDrawerOpenListener()

{

@Override

public void onDrawerOpened() {

imbg.setImageResource(R.drawable.icon);

}

});

mDrawer.setOnDrawerCloseListener(new SlidingDrawer.OnDrawerCloseListener(){

@Override

public void onDrawerClosed() {

imbg.setImageResource(R.drawable.icon);

}

});

mDrawer.setOnDrawerScrollListener(new SlidingDrawer.OnDrawerScrollListener(){

@Override

public void onScrollEnded() {

tv.setText("结束拖动");

}

@Override

public void onScrollStarted() {

tv.setText("开始拖动");

}

});

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: