Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 形状角点渲染(应用程序内小部件RemoteView)-索尼Xperia选项卡上出现奇怪的故障_Android_Android Appwidget - Fatal编程技术网

Android 形状角点渲染(应用程序内小部件RemoteView)-索尼Xperia选项卡上出现奇怪的故障

Android 形状角点渲染(应用程序内小部件RemoteView)-索尼Xperia选项卡上出现奇怪的故障,android,android-appwidget,Android,Android Appwidget,使用RemoteView构建一个应用程序小部件,我使用一对TextView创建一个切换样式按钮 我在远程视图对象上使用此方法动态更改每个TextView的背景(作为对单击事件的响应,使用推荐的SetPendingEntTemplate+SetOnClickFillinContent方法连接,因为它位于集合视图项中): (这些调用是通过适配器RemoteViewsService.RemoteViewsFactory“getViewAt”方法进行的) 可绘制的只是一个简单的形状(矩形),具有指定的纯

使用RemoteView构建一个应用程序小部件,我使用一对TextView创建一个切换样式按钮

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

(这些调用是通过适配器RemoteViewsService.RemoteViewsFactory“getViewAt”方法进行的)

可绘制的只是一个简单的形状(矩形),具有指定的纯色和角半径。 是的,我知道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,注意运行此版本的其他设备没有问题)之外,这一切都可以在其他设备上正常工作

切换按钮有时(似乎不是一种模式)渲染不正确,例如,左侧和右侧切换按钮使用相同的“纯色”渲染(“左侧”和“右侧”绘图选项具有不同颜色的“关闭”和“打开”版本),即使代码输出表明没有任何错误。通常,切换按钮可用于几个连续的单击事件,但随后会出错。事实上,有两对切换按钮(文本视图),有时点击一对会改变另一对的背景

  • logcat没有错误
  • 从形状可绘制文件中删除“角”修复了该问题
在这样一个特定的环境中,我不希望任何人知道这里发生了什么(如果您喜欢看到大量代码,请道歉),但我只是想知道是否有人见过类似的特定于设备的形状渲染怪异和/或任何猜测,以尝试某种解决方法?!谢谢

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