形状角落渲染(在应用程序小部件RemoteView中) - Sony Xperia选项卡上的奇怪故障

时间:2015-05-26 16:52:06

标签: android android-appwidget

使用RemoteViews构建应用小部件,我使用一对TextView来创建切换样式按钮。

我在远程视图对象上使用此方法来动态更改每个TextView的背景(作为对click事件的响应 - 使用推荐的setPendingIntentTemplate + setOnClickFillInIntent方法连接,因为它在集合视图项中):

setInt(R.id.toggle_left, "setBackgroundResource", 
R.drawable.widget_toggle_left_on)

setInt(R.id.toggle_right, "setBackgroundResource", 
R.drawable.widget_toggle_right_off)

(这些调用来自适配器RemoteViewsService.RemoteViewsFactory" getViewAt"方法)

drawable只是一个简单的Shape(矩形),指定了纯色和角半径。 是的我知道Android文档中有关角落规范的内容: "每个角必须(最初)提供大于1的角半径,否则没有角是圆的。如果你想要特定的角不圆,那么解决方法是使用android:radius来设置一个大于1的默认角半径,但是然后覆盖每个角......"

e.g。在widget_toggle_left_on.xml中 -

<corners
    android:radius="5dp"
    android:bottomLeftRadius="5dp"
    android:topLeftRadius="5dp"
    android:bottomRightRadius="0dp"
    android:topRightRadius="0dp"/>

除了Sony Xperia平板电脑之外,这一切在几台设备上运行良好(4.4.2,请注意运行此版本的其他设备没有问题)

切换按钮有时(似乎不是图案)会被错误地渲染,例如左侧和右侧切换按钮使用相同的&#34; solid&#34;颜色(&#34;左&#34;&#34;右&#34; drawables有&#34; off&#34;&#34; on&#34;有不同颜色的版本),即使代码输出建议没有错误。通常,切换按钮适用于几个连续的单击事件,但随后会拧紧。实际上,有两对切换按钮(TextViews),有时点击一对可以改变另一对的背景!

  • logcat没有错误
  • 删除&#34;角落&#34;从形状drawables修复问题!

这样一个具体的背景我不希望任何人知道这里发生了什么(如果你更喜欢看到很多代码而道歉),但只是想知道是否有人看到类似设备特定的形状渲染怪异和/或任何猜测尝试某种工作?!感谢

0 个答案:

没有答案