路径不是凸的。Android Studio - 切换按钮

10

我已经在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"
                />

谢谢任何想法!


你想知道为什么在预览中ToggleButton无法工作吗?如果是,请更新问题。 - miensol
不是的,我正在寻求解决方案,为什么会出现错误“E / dalvikvm:找不到类'android.widget.ThemedSpinnerAdapter',从方法android.support.v7.widget.AppCompatSpinner $ DropDownAdapter. <init>”? - Janine Kroser
可能是重复的问题:https://dev59.com/iFwX5IYBdhLWcg3wwhyq - miensol
不这么认为。这个问题的作者对答案感到满意。不幸的是,建议的解决方案只能消除Android Studio中的渲染问题错误,而不能消除在设备上运行时出现的错误本身。 - Janine Kroser
那么这是Android SDK中的一个漏洞吗? - Janine Kroser
显示剩余2条评论
4个回答

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

没问题,它可以正常工作。刚刚我进行了测试。


我只使用了radius属性,但仍然收到警告。任何使用选择性圆角的组合都会导致警告。只有在不使用选择性圆角的情况下使用radius才能消除警告。 - AlexVPerl
2
@AlexVPerl 快速解决方法是,你应该使用可绘制资源作为 src,而不是背景,这意味着 'android:src="@drawable/your_drawable_name"'。 - Lalit Fauzdar

6

2
这个实现存在渲染问题,或者它没有被修复。在此之前的版本工作正常。

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

-->

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


0

当你使用'com.google.android.material:material:1.2.0-alpha03'版本时,会出现这个问题。你只需要将版本降级为'com.google.android.material:material:1.2.0-alpha02',在你的build.gradle(module app)中进行修改即可解决该问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接