gpt4 book ai didi

android - SeekBar 的拇指上的半径必须 > 0

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:22:21 24 4
gpt4 key购买 nike

我正在使用带有 Seekbar 的自定义拇指。拇指是一个白色圆圈,后面有一个使用渐变创建的阴影。它在大多数情况下都按预期工作,但对于某些设备,我在加载布局时收到错误 java.lang.IllegalArgumentException: radius must be > 0 :

java.lang.IllegalArgumentException: radius must be > 0
at android.graphics.RadialGradient.<init>(RadialGradient.java:53)
at android.graphics.drawable.GradientDrawable.ensureValidRect(GradientDrawable.java:757)
at android.graphics.drawable.GradientDrawable.draw(GradientDrawable.java:426)
at android.graphics.drawable.LayerDrawable.draw(LayerDrawable.java:349)
at android.widget.AbsSeekBar.onDraw(AbsSeekBar.java:337)
at android.view.View.draw(View.java:14757)
at android.view.View.getDisplayList(View.java:13617)
at android.view.View.getDisplayList(View.java:13664)
at android.view.View.draw(View.java:14459)
at android.view.ViewGroup.drawChild(ViewGroup.java:3273)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3091)
at android.view.View.draw(View.java:14768)
at android.view.View.getDisplayList(View.java:13617)
at android.view.View.getDisplayList(View.java:13664)
at android.view.View.draw(View.java:14459)
at android.view.ViewGroup.drawChild(ViewGroup.java:3273)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3091)
at android.view.View.getDisplayList(View.java:13609)
at android.view.View.getDisplayList(View.java:13664)
at android.view.View.draw(View.java:14459)
[...]

这似乎只发生在一些罕见的设备上,并且由于 Flurry 无法报告它们是什么(未识别),我假设它们已被 root。

在用于创建缩略图的 xml 下方:

<?xml version="1.0" encoding="utf-8"?>

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/lockscreen_thumb_shadow"/>
<item android:drawable="@drawable/lockscreen_thumb_round"
android:bottom="10dp"
android:top="10dp"
android:left="10dp"
android:right="10dp"/>
</layer-list>

lockcreen_thumb_shadow :

            <?xml version="1.0" encoding="utf-8"?>
<shape
android:shape="oval"
xmlns:android="http://schemas.android.com/apk/res/android">

<gradient android:type="radial" android:gradientRadius="35dp"
android:endColor="#14009FE8"
android:centerColor="#96009FE8"

android:startColor="#009FE8"
android:innerRadius="20dp"
/>

<size android:width="70dp" android:height="70dp"/>
</shape>

lockscreen_thumb_round :

            <?xml version="1.0" encoding="utf-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<size android:height="40dp"
android:width="40dp" />
<solid android:color="@android:color/white" />
</shape>

最佳答案

我在使用渐变时遇到了这个问题,发现 Lollipop 5.0 在 gradientRadius 值中存在 % 问题。

我有这一行:

android:gradientRadius="120%"

并将其更改为:

android:gradientRadius="120%p"

然后问题就解决了。

关于android - SeekBar 的拇指上的半径必须 > 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32885849/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com