此问题发生后,我迁移从一个机器人应用App to AppCompact
使用重构选项Android Studio中3.3(它一直在使用之前nonsupport库版本),该过程包括手动更改已弃用的API等等。
我还将compileSdkVersion
从27更新到28,并将支持的库版本从27.1.1更新到28.0.0。
在我迁移并更新compileSdkVersion和支持库版本之前,一切工作都很好。
迁移后,我可以在手机上运行了。然而,我注意到,已风格的按键并不像它们应该的方式。
这是我施加到按钮的样式之一。
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
shape
应用于按钮的背景 除了使用来自drawable的资源之外,其他所有样式也都可以正常工作。 (textSize,padding等)
此项目中只有一个selector
目录,没有任何shape
。
答案 0 :(得分:1)
实际上,这里是GraderButton样式的
item name="background"
这不是Button(窗口小部件)的属性 因此,在这里我们必须使用以下命令设置按钮的背景:-
item name="android:background"