当前位置: 首页 > 知识库问答 >
问题:

AppBaseTheme在android应用程序中做什么

聂华翰
2023-03-14
<resources xmlns:android="http://schemas.android.com/apk/res/android">

<style name="mycolor">
    <item name="android:background">@layout/header_gradient</item>
    <item name="android:padding">5dip</item>
</style>
<style name="myParentTheme" parent="android:Theme.Light">
    <item name="android:attr/windowTitleSize">40dip</item>
    <item name="android:attr/windowTitleBackgroundStyle">@style/mycolor</item>
</style>


<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
</style>

另外,为什么在键入Style标记的name属性时执行Ctrl+Space操作时看不到所有的r.attr元素?

请帮忙。谢了。

共有1个答案

隆向晨
2023-03-14

如果选择使用Eclipse new-project向导创建活动,Eclipse将为您定义AppThemeAppBaseTheme资源。AppBaseTheme通常有三个定义,分别在res/values/res/values-v11/res/values-v14/中。AppTheme将从AppBaseTheme继承。

其目的是让您将大多数特定于应用程序的样式信息放在AppTheme中,而不是创建自己的主题(例如MyParentTheme)。AppBaseTheme将主要确保从正确的OS提供的主题继承(例如,theme.lighttheme.holo.lighttheme.holo.lighttheme.holo.light)。如果愿意,还可以将特定于版本的样式信息添加到适当的AppBaseTheme中。

AndroidManifest.xml中,当我使用Android:theme=“@style/myparenttheme”时,标题的颜色和大小将设置为我想要设置的。但是文本字段的样式更改为旧的常规文本框。

这是因为您继承了theme.light,它使用了原始的(非全息的)小部件集。

当我使用Android:theme=“@style/apptheme”时,UI看起来非常“像Android”,但我对标题的特定设置没有任何影响。

这是因为您决定创建MyParentTheme,而不是将样式定义放入AppTheme中。

 类似资料:
  • 当我创建一个简单的非多线程JavaFX应用程序并启动它时,该应用程序会创建一些线程(JavaFXApplicationThread、JavaFXLauncher等)。这些线程中的大多数都已命名,但在我的所有JavaFX应用程序中都有一个未命名的线程(“线程-1”或“线程-2”)。我绝对不会创建自己的线程,因为我尝试启动Hello World JavaFX应用程序(由IDEA生成),其中也包含“线程

  • 问题内容: 我刚刚开发了一个Android应用,希望免费分发。 为了能够从我的工作中赚钱,我想在应用程序中添加一些广告或通知。如果用户决定捐赠一些钱,他将使用某种解锁代码收到“捐赠”版本的解锁代码。 是否有任何“最佳实践”可在Android中实现? 谢谢! 问题答案: 就在这里。这是应用内结算。:-) 由于主持人评论而被编辑。 阅读完上面的链接后,您将了解可以实现各种提供各自所需功能的软件包。就您

  • 问题内容: 我的Android应用程序中有一个webview,但是当有人在站点中导航时,它会在新窗口中打开,我希望它停留在webview中。是否可以轻松地做到这一点?这是我活动中的代码: 问题答案: 您必须创建一个: 然后将其设置为如下所示:

  • 问题内容: 首先了解应用程序的一些背景知识。我有一个应用程序通过线程池并行处理许多独立的任务。现在线程池正在挂起。 以下是我的线程转储的摘录,我的pool-2中的所有线程都被“ pool-2-thread-78”阻止了。尝试写入控制台似乎已锁定,我觉得这很奇怪。谁能为我说明情况? 编辑 :平台详细信息Java版本“ 1.6.0_07” Java(TM)SE运行时环境(内部版本1.6.0_07-b0

  • 问题内容: 我想在E4 RCP应用程序启动后准确地运行某些程序。 怎么做? 问题答案: 您可以通过一堂课来做到这一点。您可以在产品的属性中指定此名称: 该注释运行在启动很早就: 请参阅注册以获取Eclipse 4应用程序生命周期

  • 我了解SpringHibernateJava集成。所以我对以下给定的要点有了清晰的了解: > Spring使用LocalSessionFactoryBean类创建SessionWorks,它是Hibernate类。 应用程序上下文加载数据源、Hibernate属性等的定义。 我们可以在Spring道类中注入会话工厂类。我的问题是关于粗糙操作调用,比如 sessionfactory.get(--,