Android开发问题总结

Seekbar存在padding的问题

seekbar默认是存在padding的,如果需要去掉padding使之充满整个seekbar的宽高的话,参考如下配置


TabLayou切换Tab的问题

问题描述:

类似淘宝的商品详情页的功能,在滑动详情的时候,tab会动的切换到宝贝、评价、详情、推荐等位置,当用RecyclerView+TabLayout实现此功能的时候,TabLayout的在切换的时候是存在动画的,所以不能在滑动的过程中快速的改变位置。

解决思路:
首先想到了TabLayout+ViewPager实现的时候,当ViewPager调用setcurrentItem方法的时候,能够导致TabLayout快速的切换相应的tab,所以经过查看源码,找到了问题的源头就是下面这个方法:


Android开发问题总结_第1张图片
image.png

最后就通过反射的方法来实现了在滑动RecyclerView的时候快速切换TabLayout而不走动画。

解决方法:

public void selectTab(int position) {
    try {
      Method method =
          TabLayout.class.getDeclaredMethod("setScrollPosition", Integer.TYPE,Float.TYPE,Boolean.TYPE);
      method.setAccessible(true);
      method.invoke(mTablayout, position,0f,true);
    } catch (NoSuchMethodException e) {
      e.printStackTrace();
    } catch (IllegalAccessException e) {
      e.printStackTrace();
    } catch (InvocationTargetException e) {
      e.printStackTrace();
    }
  }

你可能感兴趣的:(Android开发问题总结)