package cn.edu.chd.view;
import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.RelativeLayout;
import cn.edu.chd.utils.YiAnimation;
import cn.edu.chd.yitu.R;
/**
* @author Rowand jj
*
*���з�תЧ����3���˵�
*/
public class YiRotateMenu extends FrameLayout implements OnClickListener
{
private ImageButton home = null;
private ImageButton second = null;
private ImageButton second_left = null;
private ImageButton second_right = null;
private ImageButton third_1 = null;
private ImageButton third_2 = null;
private ImageButton third_3 = null;
private ImageButton third_4 = null;
private ImageButton third_5 = null;
private ImageButton third_6 = null;
private ImageButton third_7 = null;
private boolean isLevel2Show = true;
private boolean isLevel3Show = true;
private RelativeLayout level2;
private RelativeLayout level3;
private boolean isEraserChecked = false;
private boolean isBarrelChecked = false;
/**
* �ص��ӿ�
*/
private OnMenuItemClickListener mListener = null;
public YiRotateMenu(Context context, AttributeSet attrs)
{
this(context, attrs, 0);
}
public YiRotateMenu(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
LayoutInflater.from(context).inflate(R.layout.layout_rotate_menu, this);
initComponent();
}
/**
* ��ʼ���ؼ�
*/
private void initComponent()
{
home = (ImageButton) findViewById(R.id.ib_home);
second = (ImageButton) findViewById(R.id.second);
second_left = (ImageButton) findViewById(R.id.second_left);
second_right = (ImageButton) findViewById(R.id.second_right);
third_1 = (ImageButton) findViewById(R.id.third_1);
third_2 = (ImageButton) findViewById(R.id.third_2);
third_3 = (ImageButton) findViewById(R.id.third_3);
third_4 = (ImageButton) findViewById(R.id.third_4);
third_5 = (ImageButton) findViewById(R.id.third_5);
third_6 = (ImageButton) findViewById(R.id.third_6);
third_7 = (ImageButton) findViewById(R.id.third_7);
level2 = (RelativeLayout) findViewById(R.id.level2);
level3 = (RelativeLayout) findViewById(R.id.level3);
second_left.setOnClickListener(this);
second_right.setOnClickListener(this);
third_1.setOnClickListener(this);
third_2.setOnClickListener(this);
third_3.setOnClickListener(this);
third_4.setOnClickListener(this);
third_5.setOnClickListener(this);
third_6.setOnClickListener(this);
third_7.setOnClickListener(this);
second.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
if (isLevel3Show)
{
// ����3�������˵�
YiAnimation.startAnimationOUT(level3, 500, 0);
} else
{
// ��ʾ3�������˵�
YiAnimation.startAnimationIN(level3, 500);
}
isLevel3Show = !isLevel3Show;
}
});
home.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
if (!isLevel2Show)
{
// ��ʾ2�������˵�
YiAnimation.startAnimationIN(level2, 500);
} else
{
if (isLevel3Show)
{
// ����3�������˵�
YiAnimation.startAnimationOUT(level3, 500, 0);
// ����2�������˵�
YiAnimation.startAnimationOUT(level2, 500, 500);
isLevel3Show = !isLevel3Show;
} else
{
// ����2�������˵�
YiAnimation.startAnimationOUT(level2, 500, 0);
}
}
isLevel2Show = !isLevel2Show;
}
});
}
@Override
public void onClick(View v)
{
if(mListener != null)
{
mListener.OnItemClick(v);
}
switch (v.getId())
{
case R.id.third_4://���
if(!isBarrelChecked)
{
third_4.setBackgroundResource(R.drawable.barrel_checked);
if(isEraserChecked)
{
third_5.setBackgroundResource(R.drawable.eraser);
isEraserChecked = false;
}
}
else
{
third_4.setBackgroundResource(R.drawable.barrel);
}
isBarrelChecked = !isBarrelChecked;
break;
case R.id.third_5://��Ƥ
if(!isEraserChecked)
{
third_5.setBackgroundResource(R.drawable.eraser_checked);
if(isBarrelChecked)
{
third_4.setBackgroundResource(R.drawable.barrel);
isBarrelChecked = false;
}
}
else
{
third_5.setBackgroundResource(R.drawable.eraser);
}
isEraserChecked = !isEraserChecked;
break;
default:
break;
}
}
/**
* ���ûص��ӿ�
*/
public void setOnMenuItemClickListener(OnMenuItemClickListener mListener)
{
this.mListener = mListener;
}
/**
*
*�˵������������Ļص��ӿ�
*/
public interface OnMenuItemClickListener
{
public void OnItemClick(View view);
}
}