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

时间:2016-01-12 06:32:21

标签: java android android-layout 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:

<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"
                />

感谢您的任何想法!

4 个答案:

答案 0 :(得分:7)

只使用半个标签而不是每个角落都可以删除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而不是background android:src="@drawable/your_drawable_name"

没问题,工作正常。刚才我测试过。

答案 1 :(得分:6)

您收到此错误是因为某些圆角和其他方角根本不会渲染。 您需要为切换按钮提供半径。

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

答案 2 :(得分:0)

此实现存在渲染问题。或其不固定。之前的版本运行正常

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

->

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

答案 3 :(得分:0)

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