可绘制目录中的资源无法正常工作

时间:2019-01-31 11:00:35

标签: android

上下文

此问题发生后,我迁移从一个机器人应用App to AppCompact使用重构选项Android Studio中3.3(它一直在使用之前nonsupport库版本),该过程包括手动更改已弃用的API等等。

我还将compileSdkVersion从27更新到28,并将支持的库版本从27.1.1更新到28.0.0。

在我迁移并更新compileSdkVersion和支持库版本之前,一切工作都很好。

问题

迁移后,我可以在手机上运行了。然而,我注意到,已风格的按键并不像它们应该的方式。

来自What it should be

What it is right now

这是我施加到按钮的样式之一。

styles.xml

<style name="GraderButton" parent="@android:style/Widget.Button">
    <item name="android:textColor">@color/text</item>
    <item name="background">@drawable/button_background</item>
    <item name="android:padding">13dip</item>
    <item name="fontPath">fonts/THSarabunNew Bold.ttf</item>
    <item name="android:textSize">20sp</item>
</style>

这是应用上述样式的按钮之一。

<Button
    android:id="@+id/buttonScan"
    style="@style/GraderButton"
    android:layout_width="186dp"
    android:layout_height="53dp"
    android:layout_marginBottom="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginLeft="8dp"
    android:layout_marginRight="8dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:layout_weight="1"
    android:text="@string/action_scan"
    app:layout_constraintBottom_toTopOf="@+id/progressStatus"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="@+id/guidelineMiddle"
    app:layout_constraintVertical_bias="0.39999998" />

显然,从我做过的一些测试来看,应用于shape的{​​{1}}资源无法识别或无法正常工作。从我调查。

  • background目录中的那些资源的引用工作正常,没有红色文本错误,对于可绘制目录中的每个资源都可以自动完成。
  • 但是,当我将光标放在这些资源名称的上方时,它说drawable的{​​{1}}被包裹在Empty StateList enter image description here
    中 对于未包裹在选择其他资源,它只是显示的完整路径,以红色文本的资源文件。 一切与样式兼容,但shape应用于按钮的背景enter image description here
  • 除了使用来自drawable的资源之外,其他所有样式也都可以正常工作。 (textSize,padding等)

    其他信息

  • 此项目中只有一个selector目录,没有任何shape

  • 在我迁移之前,该应用程序仍然具有android支持库,但我认为它尚未被使用。 {1} {},{1} {},{1} {}已经使用。

1 个答案:

答案 0 :(得分:1)

实际上,这里是GraderButton样式的

item name="background"

这不是Button(窗口小部件)的属性 因此,在这里我们必须使用以下命令设置按钮的背景:-

item name="android:background"