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);
}
}
}
Andorid之SlideMenuView
最新推荐文章于 2024-04-24 16:41:00 发布