Andorid之SlideMenuView

package com.echo.godutch.controls;

import java.util.ArrayList;
import java.util.List;

import com.echo.aaproject.R;
import com.echo.godutch.adapter.AdapterSlideMenu;

import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.RelativeLayout;

public class SlideMenuView {

	private Activity mActivity;
	private List mMenuList;//存放数据源变量
	private boolean mIsClosed;//打开或者关闭
	private RelativeLayout layBottomBox;//控件
	private OnSlideMenuListener mSlideMenuListener;
	
	public interface OnSlideMenuListener
	{
		public abstract void onSlideMenuItemClick(View pView, SlideMenuItem pSliderMenuItem);
		
	}
	
	public SlideMenuView(Activity pActivity) 
	{
		mActivity = pActivity;
		mSlideMenuListener = (OnSlideMenuListener) pActivity;
		InitVariable();
		InitView();
		InitListensers();
	}
	
	public void InitVariable()
	{
		mMenuList = new ArrayList();
		mIsClosed = true;
		
	}
	 
	public void InitView()
	{
		layBottomBox = (RelativeLayout) mActivity.findViewById(R.id.IncludeBottom);
	} 
	
	public void InitListensers()
	{
		layBottomBox.setOnClickListener(new OnSlideMenuClick());
	}
	
	private void Open()
	{
		RelativeLayout.LayoutParams _LayoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);
		_LayoutParams.addRule(RelativeLayout.BELOW, R.id.IncludeTitle);
		
		layBottomBox.setLayoutParams(_LayoutParams);//展开
		mIsClosed = false;		
	}
	
	private void Close()
	{
		RelativeLayout.LayoutParams _LayoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, 120);
		_LayoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
		
		layBottomBox.setLayoutParams(_LayoutParams);
		mIsClosed = true;
	}
	
	//开关方法
	private void Toggle()
	{
		if(mIsClosed)
		{
			Open();
		}else{
			Close();
		}
	}
	
	public void Add(SlideMenuItem pSliderMenuItem)
	{
		mMenuList.add(pSliderMenuItem);
	}
	
	public void BindList()
	{
		AdapterSlideMenu _AdapterSlideMenu = new AdapterSlideMenu(mActivity, mMenuList);
		
		ListView _ListView = (ListView) mActivity.findViewById(R.id.lvSlideList);
		_ListView.setAdapter(_AdapterSlideMenu);
		_ListView.setOnItemClickListener((OnItemClickListener) new OnSlideMenuItemClick());
	}
	
	
	private class OnSlideMenuClick implements OnClickListener
	{

		@Override
		public void onClick(View arg0) 
		{
			Toggle();
		}
	}
	
	private class OnSlideMenuItemClick implements OnItemClickListener{

		@Override
		public void onItemClick(AdapterView<?> pAdapterView, View pView, int position,
				long arg3) {
			SlideMenuItem _SlideMenuItem = (SlideMenuItem) pAdapterView.getItemAtPosition(position);
			mSlideMenuListener.onSlideMenuItemClick(pView, _SlideMenuItem);
		}
		
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值