右滑菜单SlidingMenu

来源:互联网 发布:网络拓扑图素材 编辑:程序博客网 时间:2024/05/16 04:35

这里重点描述两种简单的方法,一种是直接使用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
原创粉丝点击