使用HorizontalScrollView+LinearLayout+Button就可以了,下文只是介绍了自定义View的绘制。
继承view,实现可左右滑动的tabbar。
1.通过重写onDraw(Canvas canvas)函数绘制item。
2.重写onTouchEvent(MotionEvent event)函数监听按下,移动,抬起事件实现tabbar的滑动及点击,但是return要设为true,move事件才会一直监听,最后调用this.invalidate()刷新,相当于重新执行onDraw(Canvas canvas)。
3.自定义点击事件接口和点击事件
//自定义监听器
private OnItemSelectedListener mItemSelectedListener = null;
public interface OnItemSelectedListener{
public void onItemSelected(int select);
}
//自定义点击事件
public void setOnItemSelected(OnItemSelectedListener selectListener){
mItemSelectedListener = selectListener;
}
最后在点击事件执行时,触发点击事件
mItemSelectedListener.onItemSelected(selectItem);
在外部通过对象监听点击事件
//调用自定义点击事件
tabbar.setOnItemSelected(new OnItemSelectedListener() {
@Override
public void onItemSelected(int select) {
// TODO Auto-generated method stub
}
});
ScrollTabbarView.java
<span style="font-size:14px;">package com.kongge.scrolltabbar.tabbar;
import java.util.ArrayList;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
public cl