Android开发学习:[27]SlidingDrawer

2025-11-23 01:07:09

1、首先我们先建一个Activity并且设置为启动项,一定要记得设置intent-filter来设置启动项

Android开发学习:[27]SlidingDrawer

Android开发学习:[27]SlidingDrawer

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

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

Android开发学习:[27]SlidingDrawer

4、然后我们点击Android Studio的运行按钮。

Android开发学习:[27]SlidingDrawer

5、下面各图是对于slidingDrawer运行状态的事件处理的各种截图。

Android开发学习:[27]SlidingDrawer

Android开发学习:[27]SlidingDrawer

Android开发学习:[27]SlidingDrawer

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢