两天我被困在非法参数异常(给出下面的崩溃日志),而点击自定义AppCompatSpinner。这个问题并不是发生在所有设备上,只有少数设备(三星,一加)受到影响。下面列出了所有api版本的应用程序主题
parent="Theme.AppCompat.NoActionBar"
第23节主题:
parent="Theme.AppCompat.Light.NoActionBar"
主题:
parent="Theme.MaterialComponents.DayNight.NoActionBar"
我的崩溃日志:
E/AndroidRuntime: FATAL EXCEPTION: main
android.view.InflateException: Binary XML file line #95: Binary XML file line #37: Error inflating class Button
Caused by: android.view.InflateException: Binary XML file line #37: Error inflating class Button
Caused by: java.lang.IllegalArgumentException: The style on this component requires your app theme to be Theme.MaterialComponents (or a descendant).
请给出一些见解来解决这个问题。在stackoverflow中找到了一些解决方案;其他网站,但没有帮助我解决这个问题
如果你想使用Material UI元素,那么
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
应改为<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
正如错误本身所说,你的应用程序主题必须是MaterialTheme
或任何相同的子主题。
如何构建素材主题