Path.isConvex不受支持.Android Studio-切换按钮



我已经在stackoverflow上读到了这个问题,但不幸的是还没有找到正确的答案。

我使用ToggleButton,它在渲染窗口中显示以下错误:

The graphics preview in the layout editor may not be accurate: 
- Different corner sizes are not supported in Path.addRoundRect. (Ignore for this session) 
- Path.isConvex is not supported. (Ignore for this session)

终端显示以下错误消息:

E/dalvikvm: Could not find class 'android.widget.ThemedSpinnerAdapter', referenced from method android.support.v7.widget.AppCompatSpinner$DropDownAdapter.<init>

当我将渲染窗口中的api级别设置为19而不是23时,"渲染问题"窗口不会出现,但在Android 4.4.2的设备上运行时,应用程序中仍然会出现错误。

这是我的简单切换按钮:

<ToggleButton
                android:id="@+id/editToggleKunde6"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textOn="@string/kunde_bearbeiten_txt1"
                android:textOff="@string/kunde_bearbeiten_txt2"
                android:checked="true"
                />

谢谢你的任何想法!

Path.isConvex可以通过仅对半径使用单个标记而不是对每个角使用单个标记来移除。。。所以不用

<corners 
    android:bottomLeftRadius="10dp"
    android:bottomRightRadius="10dp"
    android:topLeftRadius="10dp"
    android:topRightRadius="10dp"/>

把这个

<corners android:radius="10dp"/>

此外,可以使用以下代码实现选择性圆角

<corners android:radius="10dp" android:bottomLeftRadius="0dp" android:topRightRadius="0dp"/>

编辑(简单方法)

为了修复它,您还可以将其设置为src而不是backgroundandroid:src="@drawable/your_drawable_name"

没问题,它很好用。刚才我测试过。

出现此错误是因为某些圆角和其他直角根本无法渲染。您需要为切换按钮提供半径。

来源:https://code.google.com/p/android/issues/detail?id=72999

此实现存在呈现问题。或者它不是固定的。以前的版本运行良好

实现'com.google.android.material:material:1.2.0-alpha03'

-->

实现'com.google.android.material:material:1.2.0-alpha02'

当您使用"com.google.android.material:1.2.0-alpha03'版本时会出现此问题。您只需在build.gradle(模块应用程序)中将版本降级为"com.google.android.mamaterial:1.2.0-alpha02'"。它将解决这个问题。

最新更新