【问题标题】:Android theme declarationAndroid主题声明
【发布时间】:2011-09-28 20:42:32
【问题描述】:

我有问题。我创建了新应用并将其发布到市场上,但大多数用户通过

获得 ANR

引起:java.lang.reflect.InvocationTargetException 在 java.lang.reflect.Constructor.constructNative(Native Method) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:415) 在 android.view.LayoutInflater.createView(LayoutInflater.java:505) ... 39 更多 引起:android.content.res.Resources$NotFoundException:资源不是可绘制对象(颜色或路径):TypedValue{t=0x2/d=0x7f010019 a=-1} 在 android.content.res.Resources.loadDrawable(Resources.java:1699) 在 android.content.res.TypedArray.getDrawable(TypedArray.java:601) 在 android.view.View.(View.java:1998) 在 android.view.View.(View.java:1946) 在 android.view.ViewGroup.(ViewGroup.java:304) 在 android.widget.RelativeLayout.(RelativeLayout.java:173) ... 42 更多

在我的应用程序中,我有两个在 theme.xml 中声明的主题。我认为我在主题声明中有错误。如何正确定义样式中的主题?有什么区别

 <style name="DarkTheme" parent="android:Theme.Black.NoTitleBar">

<style name="DarkTheme" parent="@android:style/Theme.NoTitleBar">

【问题讨论】:

    标签: android themes styles parent declaration


    【解决方案1】:
        <style name="DarkTheme" parent="@android:style/Theme.NoTitleBar">
    

    那个主题声明是正确的。 @android 告诉您的软件在 Android 包中查找资源。 :style 意味着在 android 包中它应该查看该包的样式以获取以 / 命名的样式。

    【讨论】:

    • 好的。但是
    【解决方案2】:

    我正在使用类似于定义主题父级的第一种方式,即:

    <style name="DarkTheme" parent="android:Theme.Black.NoTitleBar">
    

    它对我来说很好用。也许只尝试使用它。我已经尝试了这两种方法,但它们似乎都有效。

    【讨论】:

    • 感谢您的回复,我也尝试过同时使用两者,都可以正常工作,但我无法理解我的应用程序出了什么问题。
    • 嗯,LogCat 报告应该可以帮助您追踪错误发生的位置。无论您在代码行中做什么,都可能是错误的。
    • 在上面的代码中可以看到stacktrace的一部分。但我无法确定错误的原因。
    • 是的,但这不是完整的报告 - 是吗?
    • 我想我看到了什么。你能发布你的 manifest.xml 文件的内容吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-28
    • 1970-01-01
    • 2020-01-14
    • 2021-02-23
    • 2012-01-29
    • 2018-04-08
    相关资源
    最近更新 更多