美文网首页
Padding大于ViewPagger本身的宽度导致Glide抛

Padding大于ViewPagger本身的宽度导致Glide抛

作者: lvsecoto | 来源:发表于2019-03-21 10:58 被阅读0次

描述

最近写一个ViewPager图片墙时遇到一个莫名其妙的奔溃问题,只有特定机型才会出现

Fatal signal 11 (SIGSEGV) at 0x0000002c (code=1), thread 8439 (glide-source-th)

先看看ViewPager的布局文件

<android.support.v4.view.ViewPager
    android:id="@+id/slider"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginLeft="8dp"
    android:layout_marginRight="8dp"
    android:layout_marginBottom="100dp"
    android:clipToPadding="false"
    android:paddingLeft="522dp"
    android:paddingRight="522dp" />

这里设置paddingclipToPadding是为了让ViewPager能显示一个以上的条目

而ViewPager的条目是只是是一个ImageView,用Glide加载图片,就不放出布局文件内容了

分析

问题来了,这里ViewPager的padding是写死的,要是某些机型屏幕宽度过窄,就会导致ViewPager的padding大于其宽度,其条目的宽度就会被挤得无法显示,这时候Glide就会抛出异常了

解决

所以这里的padding一定要根据ViewPager的实际宽度动态设置

至于Glide的glide-source-th错误是啥呢?这里是native代码,我就没再深究下去了🙄

相关文章

  • Padding大于ViewPagger本身的宽度导致Glide抛

    描述 最近写一个ViewPager图片墙时遇到一个莫名其妙的奔溃问题,只有特定机型才会出现 Fatal signa...

  • 浏览器兼容问题

    1.在IE6以下,子级的宽度会撑开父级的宽度,所以在ie6,盒模型(内容+padding)的尺度一定不能大于父级宽...

  • css offsetWidth,clientWidth,scro

    clientWidth: width(内容宽度) + 左右padding - 滚动条宽度; offsetWidth...

  • 总结css中的盒子模型

    往往你设置的元素宽度,是内容content的宽度,没有算上padding,border,margin的宽度的,如下...

  • 盒模型

    width就是内容的宽度,真实的宽度是width+margin-left+margin-right+padding...

  • JQuery获取DIV宽度与高度

    宽度一般指内容宽度,实际宽度往往需要padding+border+margin+内容宽度,才为真正需要的。 //内...

  • CSS设置背景图宽度100%,高度自适应

    padding-top= (高度/宽度)*100%;即图片的高度与宽度的比例,因此就能实现背景图宽度100%,高度...

  • CSS高级知识点

    CSS的盒子模型 标准盒子模型:宽度=内容的宽度(content)+ border + padding + mar...

  • css盒模型与BFC

    盒子模型 1.标准盒子模型    宽度=内容的宽度(content)+ border + padding + ma...

  • Seek样式

    1、宽度 seekbar显示宽度比设置的小,因为有内边距、将padding、paddingStart、paddin...

网友评论

      本文标题:Padding大于ViewPagger本身的宽度导致Glide抛

      本文链接:https://www.haomeiwen.com/subject/nntqvqtx.html