侧滑(以Activity为页面)

来源:互联网 发布:耶路撒冷 知乎 编辑:程序博客网 时间:2024/06/05 04:25

===================================MainActivity==============================================================


package com.example.cece;


import com.slidingmenu.lib.SlidingMenu;


import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;


public class MainActivity extends Activity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        initSlidingMenu();
    }
    private void initSlidingMenu() {


// 初始化SlidingMenu对象
SlidingMenu menu = new SlidingMenu(this);
// 设置侧滑方式为左侧侧滑
menu.setMode(SlidingMenu.LEFT);
/*
* 设置拖拽模式 SlidingMenu.TOUCHMODE_FULLSCREEN全屏触摸有效
* SlidingMenu.TOUCHMODE_MARGIN 拖拽边缘有效 
* SlidingMenu.TOUCHMODE_NONE 不响应触摸事件
*/
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
// 设置阴影的宽度
menu.setShadowWidthRes(R.dimen.shadow_width);
// 设置阴影的图片
menu.setShadowDrawable(R.drawable.shadow);
// 设置sldingMenu的剩余大小---=内容显示页对应的dp大小
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
// 设置滑动时的渐变程度
menu.setFadeDegree(0.35f);
// 使SlidingMenu附加在Activity右边
// SlidingMenu.SLIDING_CONTENT 将侧滑栏设置为在内容位置
// SlidingMenu.SLIDING_WINDOW 将侧滑栏设置为在整个窗口呈现
menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);



// 设置SlidingMenu关联的布局
menu.setMenu(R.layout.menu);

    

//布局,查找控件,对侧滑页面进行操作
findMenuView();


}
    
}

=======================================关联的布局menu=====================================

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >


    <TextView
        android:id="@+id/tv_cehua_weather"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_marginRight="5dp"
        android:textSize="24sp"
        android:text="哈哈哈" />


    


</RelativeLayout>



=======================================以下内容是对侧滑内部所进行的操作,与上可分开=============================

/**
* 侧滑的空间
*/
private void findMenuView() {
TextView name = (TextView) findViewById(R.id.name);
ListView lv = (ListView) findViewById(R.id.menu_lv);
TextView shezhi = (TextView) findViewById(R.id.shezhi);

//侧滑中listview选项
List<String> menu_text_list = new ArrayList<String>();
String[] texts={"新闻","视频","我的"};

for (int i = 0; i < texts.length; i++) {
menu_text_list.add(texts[i]);
}

lv.setAdapter(new MenuBaseAdapter(ShouyeActivity.this, menu_text_list));

lv.setOnItemClickListener(new OnItemClickListener() {


@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
FragmentTransaction transaction2 = manager.beginTransaction();
if(position==0){
/* ImageLoader.getInstance().displayImage(
           imgurl, include_img, initOptions);
img_message.setSelected(false);
img_video.setSelected(true);
img_me.setSelected(false);*/
transaction2.show(mfr1);
transaction2.hide(mfr2);
transaction2.hide(mfr3);

}else if(position==1){
/* ImageLoader.getInstance().displayImage(
           imgurl, include_img, initOptions);
img_message.setSelected(false);
img_video.setSelected(true);
img_me.setSelected(false);*/
transaction2.hide(mfr1);
transaction2.show(mfr2);
transaction2.hide(mfr3);

}else if(position==2){
/* ImageLoader.getInstance().displayImage(
           imgurl, include_img, initOptions);
img_message.setSelected(false);
img_video.setSelected(false);
img_me.setSelected(true);*/
transaction2.hide(mfr1);
transaction2.hide(mfr2);
transaction2.show(mfr3);

}
transaction2.commit();
}
});
}

0 0