我知道这个问题已经被问了一百万次了,但无论我用哪种方法都对我不利。
如果我使用
android:theme="@android:style/Theme.NoTitleBar"
在清单文件中,应用程序的整个主题都发生了更改。如果我放
requestWindowFeature(Window.FEATURE_NO_TITLE);
在onCreate活动中,它在启动应用程序时会很快显示出来。
顺便说一句,我没有选择任何主题,只是使用标准的android。
您所说的"应用程序更改的整个主题"是什么意思还不清楚。对于API 11级以上的设备,您可能应该使用@android:style/Theme.Holo.NoActionBar
。
如果将主题添加到应用程序中,它将应用于整个应用程序。
android:theme="@android:style/Theme.NoTitleBar"
您必须将其添加到活动声明中。
<activity
android:name=".YourActivity"
android:theme="@android:style/Theme.NoTitleBar"/>
在安卓工作室中从应用程序中删除标题栏
- 打开res>values>styles.xml文件
-
将您的代码替换为:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
打开style.xml文件,创建一个新样式,如下所示。您可以选择自己的名字,并将父项设置为以下
<style name="your_own_name" parent="Theme.AppCompat.Light.NoActionBar">
</style>
在你的AndroidManifest.xml文件中,为你不希望栏显示的特定活动设置主题名称,你就完成了
<activity android:theme ="@style/your_own_name" >
</activity>
这就是我的工作原理
android:theme="@style/Theme.AppCompat.NoActionBar">
当你在android中创建一个新项目时,你会在你的项目上应用默认主题,它有标题栏。但是如果你想为你的整个应用程序删除或应用一些其他主题,那么你可以在应用程序级别定义如下:
<application
android:name="com.mycomp.myproj.MainApplication"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.Sherlock" >
但如果你想只在某些特定的屏幕上应用一些主题,那么你可以在活动级别定义如下:
<activity
android:name="com.mycomp.myproj.MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme">
支持android 8及以上版本。在你的应用主题文件中使用它。我修改了res/styles.xml:中的默认值
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:background">@color/white</item>
</style>
内部AndroidManifest
<activity
android:name=".activity.HomeMenu"
android:screenOrientation="nosensor"
android:theme="@android:style/Theme.Light.NoTitleBar">
<intent-filter>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
并确保您的类扩展到活动
如果您在styles.xml中制作了一个自定义主题,您可以这样做:
<style name="AppTheme" parent="android:Theme.Material.Light">
<!-- Override the android colour scheme etc. -->
<item name="android:colorPrimary">@color/color_primary</item>
</style>
要删除操作栏和标题,请添加到styles.xml:
<style name="AppTheme.NoActionBar">
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
</style>
然后在你的AndroidManifest.xml中,你可以使用你的自定义主题,无论是否使用动作栏
<application
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"> <---- With action bar
<activity
android:theme="@style/AppTheme.NoActionBar"> <---- No action bar
<intent-filter>
etc...