中间遇到问题 HorizontalScrollView 的点击时
需要判断 SlidingMenu左侧是否显示出来,如果出来时点击执行隐藏左侧
如果左侧是隐藏,执行HorizontalScrollView里面的RadioGroup对应的点击事件 (ViewPager 跟随切换等...)
在SlidingMenu里面添加方法
public boolean IsDisplay(){
int oldScrollX = getScrollX();
if (oldScrollX == 0)
return false;
else
return true;
}
SlidingMenu里面添加方法
public boolean IsDisplay() {
return mSlidingView.IsDisplay();
}
SlidingActivity里面添加方法
public boolean IsDisplay() {
return mSlidingMenu.IsDisplay();
}
HorizontalScrollView的点击时做判断
setOnCheckedChangeListener里面修改代码
rg_nav_content.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if(((SlidingActivity) getActivity()).IsDisplay()){
((SlidingActivity) getActivity()).showLeft();
return;
}
if(rg_nav_content.getChildAt(checkedId)!=null){
TranslateAnimation animation = new TranslateAnimation(
currentIndicatorLeft ,
((RadioButton) rg_nav_content.getChildAt(checkedId)).getLeft(), 0f, 0f);
animation.setInterpolator(new LinearInterpolator());
animation.setDuration(100);
animation.setFillAfter(true);
//执行位移动画
iv_nav_indicator.startAnimation(animation);
mViewPager.setCurrentItem(checkedId); //ViewPager 跟随�?�� 切换
//记录当前 下标的距�?��侧的 距离
currentIndicatorLeft = ((RadioButton) rg_nav_content.getChildAt(checkedId)).getLeft();
mHsv.smoothScrollTo(
(checkedId > 1 ? ((RadioButton) rg_nav_content.getChildAt(checkedId)).getLeft() : 0) - ((RadioButton) rg_nav_content.getChildAt(2)).getLeft(), 0);
}
}
});
就这样凑合着看吧 代码懒得上传了