【问题标题】:Path.isConvex is not supported. Android Studio - Toggle Button不支持 Path.isConvex。 Android Studio - 切换按钮
【发布时间】:2016-04-16 16:10:11
【问题描述】:

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

感谢您的任何想法!

【问题讨论】:

  • 您在问为什么ToggleButton 在预览版中不起作用?如果是这样,请更新问题。
  • 不,我不知道。我正在寻求解决方案,为什么会出现错误“E/dalvikvm:找不到类 'android.widget.ThemedSpinnerAdapter',从方法 android.support.v7.widget.AppCompatSpinner$DropDownAdapter. 引用”。跨度>
  • 不这么认为。这个问题的作者对这个答案很满意。不幸的是,建议的解决方案仅消除了 Android Studio 中的渲染问题错误,但没有消除在设备上运行时发生的错误本身。
  • 如果我正确阅读了其他问题和 cmets,问题在于在设备上运行(他们甚至提到了 SG II)。

标签: java android android-layout android-studio


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    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 而不是背景为 android:src="@drawable/your_drawable_name"

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

    【讨论】:

    • 我只使用了 radius 属性,但仍然收到警告。使用选择性圆角的任何组合都会发出警告。只有当您使用没有选择性圆角的半径时,才会消除警告。
    • @AlexVPerl 快速解决方法是您应该使用可绘制资源作为 src 而不是背景,这意味着 'android:src="@drawable/your_drawable_name"`。
    【解决方案3】:

    这个实现有一个渲染问题。或者它不固定。之前的版本可以正常使用

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

    -->

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-06-13
        • 2020-08-20
        • 2015-06-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-03
        • 2010-10-08
        相关资源
        最近更新 更多