Android开发学习:[27]SlidingDrawer
1、首先我们先建一个Activity并且设置为启动项,一定要记得设置intent-filter来设置启动项
![Android开发学习:[27]SlidingDrawer](https://exp-picture.cdn.bcebos.com/6a408cdd3340b6f3c8d4ceaf12c0affce086eeea.jpg)
![Android开发学习:[27]SlidingDrawer](https://exp-picture.cdn.bcebos.com/9881b1fce186242ff72159ac35e434daf15ee8ea.jpg)
2、然后我们在布局的xml里面添加以下代码,记得要有handle和content的内容
<LinearLayout 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"
tools:context="com.basillee.asus.demo.MainActivity9">
<SlidingDrawer
android:layout_width="match_parent"
android:layout_height="match_parent"
android:content="@+id/content"
android:handle="@+id/handle"
android:id="@+id/slidingDrawer">
<ImageView
android:id="@id/handle"
android:layout_width="50dip"
android:layout_height="44dip"
android:src="@drawable/a"/>
<LinearLayout
android:id="@id/content"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/ripple_material_light">
<TextView
android:id="@+id/txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="SlidingDrawerTest"/>
</LinearLayout>
</SlidingDrawer>
</LinearLayout>
下面是Design窗体的可视化视图
![Android开发学习:[27]SlidingDrawer](https://exp-picture.cdn.bcebos.com/a9338a1fbee434da930d8790f271fe1d97d8e4ea.jpg)
3、然后我们添加后台代码,此处主要对slidingDrawer的打开状态进行监听做处理
package com.basillee.asus.demo;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ImageView;
import android.widget.SlidingDrawer;
import android.widget.TextView;
public class MainActivity9 extends ActionBarActivity {
private ImageView img;
private SlidingDrawer slidingDrawer;
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_activity9);
img=(ImageView)findViewById(R.id.handle);
slidingDrawer= (SlidingDrawer) findViewById(R.id.slidingDrawer);
textView=(TextView)findViewById(R.id.txt);
//完全打开
slidingDrawer.setOnDrawerOpenListener(new SlidingDrawer.OnDrawerOpenListener() {
@Override
public void onDrawerOpened() {
img.setImageResource(R.drawable.b);
}
});
//完全关闭
slidingDrawer.setOnDrawerCloseListener(new SlidingDrawer.OnDrawerCloseListener() {
@Override
public void onDrawerClosed() {
img.setImageResource(R.drawable.a);
}
});
slidingDrawer.setOnDrawerScrollListener(new SlidingDrawer.OnDrawerScrollListener() {
//开始滚动时的操作
@Override
public void onScrollStarted() {
textView.setText("SlidingDrawerStarted");
}
//结束滚动时的操作
@Override
public void onScrollEnded() {
textView.setText("SlidingDrawerEnded");
}
});
}
}
下图是对于不同状态的侦听处理
![Android开发学习:[27]SlidingDrawer](https://exp-picture.cdn.bcebos.com/f11f54237971fe1df18bd5aaea20a7cd0d6ee0ea.jpg)
![Android开发学习:[27]SlidingDrawer](https://exp-picture.cdn.bcebos.com/ff5c88d818196120cd9ec1dd70f202b374d7dfea.jpg)
4、然后我们点击Android Studio的运行按钮。
![Android开发学习:[27]SlidingDrawer](https://exp-picture.cdn.bcebos.com/19587f20a7cd0c6e97a1cf00fed7997bbaf4ddea.jpg)
5、下面各图是对于slidingDrawer运行状态的事件处理的各种截图。
![Android开发学习:[27]SlidingDrawer](https://exp-picture.cdn.bcebos.com/0d2fe5f202b375d7f6287647515872dadf49d8ea.jpg)
![Android开发学习:[27]SlidingDrawer](https://exp-picture.cdn.bcebos.com/7496877bbbf4da58008913faea0f8b56ac04d7ea.jpg)
![Android开发学习:[27]SlidingDrawer](https://exp-picture.cdn.bcebos.com/739bc049610f8b56db57e3db9ce951e10ff8d3ea.jpg)