SlidingMenu实现左侧侧滑效果

***************************************SlidingMenu的左侧侧滑需要一个包slidingmenu.jar的帮助**********************************

***************************************activity_main布局***********************************

<RelativeLayout 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"
    android:background="#00ff00"
    >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

</RelativeLayout>


***************************************left_slidingmenu布局******************************

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/k0"
     >

	<TextView
	    android:id="@+id/sd_title_tv"
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:layout_alignParentLeft="true"
	    android:layout_alignParentTop="true"
	    android:layout_marginLeft="116dp"
	    android:layout_marginTop="60dp"
	    android:textColor="#0000ff"
	    android:text="$小武$" />

	<ImageView
	    android:id="@+id/sd_title_iv"
	    android:layout_width="50dp"
	    android:layout_height="50dp"
	    android:layout_alignBottom="@id/sd_title_tv"
	    android:layout_alignParentLeft="true"
	    android:layout_marginLeft="45dp"
	    android:background="@drawable/ae" />
	<ListView
	    android:id="@+id/sd_lv"
	    android:layout_width="match_parent"
	    android:layout_height="wrap_content"
	    android:divider="#ccc"
	    android:dividerHeight="1dp"
	    android:layout_below="@id/sd_title_iv"
	    android:layout_marginLeft="45dp"
	    ></ListView>
</RelativeLayout>

**********************************Main.class**************************************

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;

import com.slidingmenu.lib.SlidingMenu;

public class MainActivity extends Activity {

	private TextView sd_title_tv;
	private String[] tabs;
	private ImageView title_iv;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
//		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.activity_main);
		initSlidingMenu();
	}

	private void initSlidingMenu() {
		// TODO Auto-generated method stub
		// 初始化slidingmenu对象
				SlidingMenu menu = new SlidingMenu(MainActivity.this);
				// 设置侧滑方向为左侧侧滑
				//SlidingMenu.LEFT_RIGHT左右都可以滑动
				//RIGHT 从右侧侧划
				menu.setMode(SlidingMenu.LEFT);

				/*
				 * 设置拖拽模式 SlidingMenu.TOUCHMODE_FULLSCREEN全屏触摸有效
				 * SlidingMenu.TOUCHMODE_MARGIN 拖拽边缘有效 SlidingMenu.TOUCHMODE_NONE
				 * 不响应触摸事件
				 */

				menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);

				// 设置阴影宽度
				menu.setShadowWidthRes(R.dimen.shadow_width);
				// 设置阴影的图片
				menu.setShadowDrawable(R.drawable.title3);
				// 设置slidingmenu的拉伸出来其他剩余界面大小==内容显示页对应的dp大小
				menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
				// 设置滑动时的渐变程度
				menu.setFadeDegree(0.35f);
				// 使SlidingMenu附加在Activity右边
				// SlidingMenu.SLIDING_CONTENT 将侧滑栏设置为在内容位置
				// SlidingMenu.SLIDING_WINDOW 将侧滑栏设置为在整个窗口呈现
				//SlidingMenu.TOUCHMODE_NONE 设置不可以拖出来
				menu.attachToActivity(MainActivity.this, SlidingMenu.SLIDING_WINDOW);
				// 设置sliding管理的布局
				menu.setMenu(R.layout.left_slidingmenu);
				// 在slidingmenu关联布局中查询控件

				sd_title_tv = (TextView) menu.findViewById(R.id.sd_title_tv);

				ListView lv = (ListView) menu.findViewById(R.id.sd_lv);
				tabs = new String[] { "我的首页", "男士游戏", "女士游戏", "我的收藏", "我的评论", "我的书友",
						"设置" };
				lv.setAdapter(new BaseAdapter() {

					public View getView(int position, View convertView, ViewGroup parent) {
						View view = View.inflate(MainActivity.this,
								android.R.layout.simple_list_item_1, null);
						TextView tv = (TextView) view.findViewById(android.R.id.text1);
						tv.setText(tabs[position]);
						return view;
					}

					public long getItemId(int position) {
						// TODO Auto-generated method stub
						return 0;
					}

					public Object getItem(int position) {
						// TODO Auto-generated method stub
						return null;
					}

					public int getCount() {
						// TODO Auto-generated method stub
						return tabs.length;
					}
				});
				title_iv = (ImageView) menu.findViewById(R.id.sd_title_iv);
	}

}


************************dimens.xml*****************************


<resources>

    <!-- Default screen margins, per the Android Design guidelines. -->
    <dimen name="activity_horizontal_margin">16dp</dimen>
    <dimen name="activity_vertical_margin">16dp</dimen>
     <dimen name="shadow_width">5dp</dimen>
    <dimen name="slidingmenu_offset">100dp</dimen>

</resources>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值