package com.yuyh.sprintnba.widget; import android.content.Context; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; import com.yuyh.sprintnba.R; /** * @author yuyh. * @date 2016/6/22. */ public class ToggleLayout extends RelativeLayout { private Context context; private RelativeLayout layout = null; private ImageView ivLeft, ivRight; private TextView tvTitle; private String[] item; private int current = 0; private int length; private OnToggleListener listener; public ToggleLayout(Context context) { this(context, null); } public ToggleLayout(Context context, AttributeSet attrs) { this(context, attrs, 0); } public ToggleLayout(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); this.context = context; initView(); } private void initView() { LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); layout = (RelativeLayout) inflater.inflate(R.layout.layout_toggle_menu, this); ivLeft = (ImageView) layout.findViewById(R.id.ivLeft); ivRight = (ImageView) layout.findViewById(R.id.ivRight); tvTitle = (TextView) findViewById(R.id.tvToggleTitle); ivLeft.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (item != null && item.length > 0) { current = (length + current - 1) % length; tvTitle.setText(item[current]); if (listener != null) listener.toggle(current); } } }); ivRight.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (item != null && item.length > 0) { current = (current + 1) % length; tvTitle.setText(item[current]); if (listener != null) listener.toggle(current); } } }); } public void setItem(String[] item) { if (item != null && item.length > 0) { this.item = item; length = item.length; current = 0; tvTitle.setText(item[0]); } } public String getCurrentItem() { if (item != null && item.length > 0) { return item[current]; } return null; } public void setOnToggleListener(OnToggleListener listener) { this.listener = listener; } public interface OnToggleListener { void toggle(int position); } }