右滑菜单SlidingMenu

这里重点描述两种简单的方法,一种是直接使用SlidingMenu,另一种是继承SlidingActivity,下面写出使用方法。

一、使用SlidingMenu:准备布局文件和Activity中使用

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center">

    <TextView
        android:id="@+id/tv_left"
        android:padding="10dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="text1"
        android:background="#e3ffdb"/>

    <TextView
        android:id="@+id/tv_left2"
        android:padding="10dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="text2"
        android:background="#dbf2ff"/>

</LinearLayout>
public class OtherActivity extends Activity implements View.OnClickListener{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initSlidingMenu();
    }


    private void initSlidingMenu(){
        // configure the SlidingMenu
        SlidingMenu menu = new SlidingMenu(this);
        menu.setMode(SlidingMenu.LEFT);
        // 设置触摸屏幕的模式
        menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
        menu.setShadowWidthRes(R.dimen.shadow_width);
        menu.setShadowDrawable(R.drawable.shadow);

        // 设置滑动菜单视图的宽度
        menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
        // 设置渐入渐出效果的值
        menu.setFadeDegree(0.35f);
        /**
         * SLIDING_WINDOW will include the Title/ActionBar in the content
         * section of the SlidingMenu, while SLIDING_CONTENT does not.
         */
        //把滑动菜单添加进所有的Activity中,可选值SLIDING_CONTENT , SLIDING_WINDOW
        menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
        //为侧滑菜单设置布局
        menu.setMenu(R.layout.leftmenu);
        menu.setOnClickListener(this);

        TextView textView = (TextView) menu.findViewById(R.id.tv_left);
        textView.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.tv_left:
                Toast.makeText(this, "other text - tv_left", Toast.LENGTH_SHORT).show();
                break;
        }
    }
}


二、继承SlidingActivity

<?xml version="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical"android:layout_width="match_parent"
   android:layout_height="match_parent">
   <TextView
       android:id="@+id/tv"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:gravity="center"
       android:text="Sliding Menu Text!" />
</LinearLayout>

public class MainActivity extends SlidingActivity implements View.OnClickListener{
   @Override
    publicvoid onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
       setBehindContentView(R.layout.test_menu);
       SlidingMenu menu = getSlidingMenu();
       menu.setMode(SlidingMenu.LEFT);
        // 设置触摸屏幕的模式
       menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
       menu.setShadowWidthRes(R.dimen.shadow_width);
//       menu.setShadowDrawable(R.drawable.shadow);
 
        // 设置滑动菜单视图的宽度
       menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
        // 设置渐入渐出效果的值
       menu.setFadeDegree(0.35f);
       TextView textView = (TextView)menu.findViewById(R.id.tv);
       textView.setOnClickListener(this);
    }
    @Override
    publicvoid onClick(View v) {
       switch (v.getId()){
           case R.id.tv:
               Toast.makeText(this,"hjahhah",Toast.LENGTH_SHORT).show();
               break;
        }
    }
}

三、自动收起和展开SlidingMenu的方法,还是使用第一种方法实现

    private void initSlidingMenu(){
        // 前面代码和“一”中一样

        textViewShow = (TextView)findViewById(R.id.tv_jump);
        textViewShow.setOnClickListener(this);
    }

@Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.tv_left:
                textViewShow.setText("change text");
                menu.toggle();
                break;
            case R.id.tv_jump:
                menu.toggle();
                break;
        }
    }









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值