gia*_*200 8 android android-appcompat android-support-library android-studio android-styles
使用SDK 22预览时,我的所有布局都出现以下渲染问题.
扩展类android.support.v7.widget.Toolbar时出错.
java.lang.NoSuchFieldError:View_theme
就我而言,问题是styles.xml:
带渲染问题的XML:
<resources>
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar" />
<!-- Base application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/accent</item>
<item name="android:textColorPrimary">@color/primary_text</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
XML没有问题:
<resources>
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar" />
<!-- Base application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/accent</item>
<item name="android:textColorPrimary">@color/primary_text</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
请注意我必须添加@style/父引用.这似乎解决了我的问题(重建后).
问题,这是我的错误还是错误?很多教程都没说(包括官方Android页面)
摇篮:
compileSdkVersion 22
buildToolsVersion '22.0.1'
minSdkVersion 15
targetSdkVersion 22
classpath 'com.android.tools.build:gradle:1.1.0'
Run Code Online (Sandbox Code Playgroud)
最后注意:我没有使用工具栏.
编辑 :
阅读另一个SO问题。
如果您的活动扩展AppCompactActivity,您的父主题应该是
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar" />
Run Code Online (Sandbox Code Playgroud)
其中,如果使用ActionBarActivity,主题应该是
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar" />
Run Code Online (Sandbox Code Playgroud)
我认为这种差异是故意的,而不是错误。如果我错了,请随时纠正我,因为我还无法从任何地方确认同样的情况。
老的 :
要将工具栏用作操作栏,您需要做的第一件事是禁用提供操作栏的装饰。最简单的方法是让您的主题从 Theme.AppCompat.NoActionBar (或轻型变体)扩展。
使用 :
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6926 次 |
| 最近记录: |