Android开发问题总结

Seekbar存在padding的问题

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

<SeekBar
                    android:id="@+id/videoSeekbar"
                    android:layout_width="match_parent"
                    android:layout_height="40dp"
                    android:maxHeight="40dp"
                    android:minHeight="0dp"
                    android:paddingEnd="0dp"
                    android:paddingStart="0dp"
                    android:progressDrawable="@drawable/video_seekbar_progress"
                    android:thumb="@null" />

TabLayou切换Tab的问题

问题描述:

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

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


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();
    }
  }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是日常工作中遇到的问题,汇总下来以备日后查看 1、字体修改: as下assets文件加的创建,修改文字的字体,目...
    Cloud_9527阅读 4,104评论 0 52
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,680评论 1 92
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,179评论 25 709
  • 卧室的床上长满苍凉的石头 石头的眼里有血与泪 他们望着我 像看一个生病的人 我的周身是荒凉的夜色与凄凉的苦雨 我向...
    南河沙阅读 5,043评论 4 18
  • RWTCenteredScrollView.h: RWTCenteredScrollView.m:
    _浅墨_阅读 4,266评论 0 2