安卓中侧滑功能的实现

相信玩过QQ的小伙伴们都知道侧滑是个什么样子,侧滑,顾名思义就是可以向左侧或者右侧滑动的功能,队友手机来说,屏幕本来就小的可怜,每一处地方更是寸土寸金,因此有想法的人就在想着怎样充分利用手机的小屏幕又不影响美观,这样,侧滑功能就应运而生,越来越多得到APP也都使用到了侧滑这一功能。
侧滑功能实现的方法可能有多种多样,第一种就是官方提供的drawerLayout这个控件,个人觉得该控件实现该效果稍稍有点复杂,不过有兴趣的同学可以去学习一下。我今天想讲的是利用第三方提供的jar包实现该功能,几行代码就能实现想要的效果
话不多说,接下来进入正题—-代码分析。
①下载jar包,点这里http://download.csdn.net/detail/leihuiaa/9668321
下载之后导入到自己的工程
②写三个布局文件
main_activity.xml


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="演示左右侧滑"
        />
LinearLayout>

left_content.xml


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#0000ff"
    android:orientation="vertical" >
    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="您向左边滑动了"
        />
LinearLayout>

right_content.xml


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#0000ff"
    android:orientation="vertical" >
    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="您向左边滑动了"
        />
LinearLayout>

在dimens.xml声明一下属性,便于diaoyong

<dimen name="activity_horizontal_margin">16dpdimen>
<dimen name="activity_vertical_margin">16dpdimen>

<dimen name="slidingmenu_offset">80dpdimen>
<dimen name="shadow_width">15dpdimen>

③新建一个SlideLeft 类

public class SlideLeft extends Activity{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);

        setContentView(R.layout.left_mune);
        SlidingMenu menu = new SlidingMenu(this);
        //设置向左边滑动
        menu.setMode(SlidingMenu.LEFT);
        //设置触摸屏幕的模式
        menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
        menu.setShadowWidthRes(R.dimen.shadow_width);
        menu.setShadowDrawable(R.drawable.ic_launcher);
        menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
        menu.setFadeDegree(0.45f);
        menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
        //设置屏幕滑动后要显示的内容
        menu.setMenu(R.layout.left_content);
    }
}

④新建一个SlideLeft 类

public class SlideRight extends Activity{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.right_mune);
        SlidingMenu menu = new SlidingMenu(this);
        //设置向右边边滑动
        menu.setMode(SlidingMenu.RIGHT);
        //设置触摸屏幕的模式
        menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
        menu.setShadowWidthRes(R.dimen.shadow_width2);
        menu.setShadowDrawable(R.drawable.ic_launcher);
        menu.setBehindOffsetRes(R.dimen.slidingmenu_offset2);
        menu.setFadeDegree(0.85f);
        menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
        menu.setMenu(R.layout.right_content);
    }
}

最后在MainActivity中分别取执行者两个类中的内容

public void click1(View v){
        Intent intent = new Intent(MainActivity.this,SlideLeft.class);
        startActivity(intent);
    }
    public void click2(View v){
        Intent intent = new Intent(MainActivity.this,SlideRight.class);
        startActivity(intent);
    }

接下来看一下演示的效果
安卓中侧滑功能的实现_第1张图片
安卓中侧滑功能的实现_第2张图片
效果有点丑,不过没关系,想要的效果出来就够了,布局可以回家在即再好好研究,布的漂亮一些
是不是很简单,当然了,这还只是简单的,基础的用法,后面深入一点的可以自己先去自学或者请听我下回再向你慢慢道来。
对于没能实现的小伙伴也不要着急,点击这里下载源码,http://download.csdn.net/detail/leihuiaa/9668328,慢慢分析

你可能感兴趣的:(安卓中侧滑功能的实现)