如何在android studio中删除标题栏?


88

在我的应用中,该标题栏位于溢出菜单的顶部,但我不需要设置,只有一个屏幕。当我像其他许多问题中所述更改主题时,我得到的是旧的2.2主题。我想拥有现代主题,而顶部没有栏。

Answers:


150

转到styles.xml并更改.DarkActionBar.NoActionBar

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
</style>

变成

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
</style>

如果颜色与您的应用无关,那么您实际上可以

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar" />

1
可以正常工作。但是,查看所有活动的应用程序时标题也消失了。
IAbstract

您将如何解决@IAbstract?
Pablo Biedma

@PabloBiedma:我不知道。
IAbstract

60

在清单文件中更改:

    android:theme="@style/AppTheme" >
    android:theme="@style/Theme.AppCompat.NoActionBar"

4
虽然这个作品,编辑styles.xml文件可能是最更好的选择,因为使用这种方法忽略了可能已经下设立的任何值AppThemestyles.xml的文件。下面与替换父类中的解决方案NoActionBar在内部styles.xml文件中保存已设立任何预先存在的样式信息。
Lemonseed

在这种情况下,我的整个应用程序背景都会变成黑色
萨吉德·汗

24
this.requestWindowFeature(Window.FEATURE_NO_TITLE);

在调用onCreate()put before时起作用setContentView()

否则会崩溃


6
这会导致应用崩溃。我将线插入它们之间super.onCreate.....setContentView..... 并且崩溃了
Nalorin

这不是正确的方法。托雷斯先生很好地解释了这一点。
Jithin Pavithran,

16

styles.xml文件中,将DarkActionBar更改为NoActionBar

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>




7

在清单文件中更改为:

android:theme="@style/Theme.AppCompat.Light.NoActionBar" >

6

这在values/styles.xml添加项目上为我工作:

       `<item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>`

6

转到项目->应用程序->主-> res->值-> styles.xml

如果要为每个视图删除它,请更改此行

 `<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">`

 `<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">`

如果您只想针对一个视图进行设置,则可以在清单数据中进行更改。转到Android->清单-> AndroidManifest.xml。请执行以下操作:

  1. 搜索您想要获得此类更改的视图 <activity android:name"...">
  2. android:theme=""@style/Theme.AppCompat.NoActionBar"

4
  1. 打开styles.xml
 <style name="no_title" parent="AppTheme">
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowContentOverlay">@null</item>
 </style>

您可以更改名称=“ ---------”

  1. 打开Androidmaifest.xm

    找到android:theme =“ @ style / AppTheme”更改为android:theme =“ @ style / no_title”

  2. 单击菜单栏上的“选择主题”(MainActivity附近为绿色)

    • 点击项目主题
    • 单击no_title(在您的右侧)
    • 点击确定

4

对于像我这样的初学者。照我说的做就可以。来自您的Android项目。

应用-> res->值-> style.xml

替换此代码

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

</resources>

请享用。


3

从activity_main.xml中删除以下内容

<android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay"/>

与我联系以获得更多帮助


2

在清单文件中执行以下操作:

<application 
    android:icon="@drawable/icon" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen">

它将我切换到旧的android设计(黑色背景,带有黄色边框的文本框...)
乔纳斯(Jonas

尽量android:theme="@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen"确保你使用的API级分14
鲁斯塔姆

您可以将其用于轻主题:android:theme =“ @ style / Theme.AppCompat.Light.NoActionBar”>
XIII

2

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

在onCreate()中工作!


2

如果不起作用,请尝试将样式更改为NoActionBar,然后将此代码添加到您的主要活动中

 protected void onCreate(Bundle savedInstanceState) {
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
        ActionBar actionBar = getSupportActionBar();
        actionBar.hide();
        setContentView(R.layout.activity_main);

    }

2

这对我有用,我希望这对您也有用

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.activity_main);
}

1

最好的方法是使用actionbar函数,setTitle()如果您希望显示徽标或actionBar中有其他东西,但又不想看到应用程序的名称,请在MainActivity.java或您希望在其中隐藏标题的任何地方编写此代码onCreate

android.support.v7.app.ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayShowHomeEnabled(true);
actionBar.setIcon(R.mipmap.full_white_logo_m); // display logo
actionBar.setTitle(""); // hide title

这样,您的应用就不会崩溃。


1

只需在setTitle(null)上面使用

toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

标题将消失,然后您就可以使用自己选择的徽标.....



1

我遇到了与您相同的问题,仅通过更改扩展的类即可解决此问题。

//you will get the app that does not have a title bar at the top.
import android.app.Activity;
public class MainActivity extends Activity
{}

//you will get the app that has title bar at top
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity
{}

我希望这能解决您的问题。


0

AndroidManifest.xml您的应用程序中,您将找到android:theme设置为@style/AppTheme

现在转到styles.xml,找到样式标签,确保名称设置与AppTheme清单中的名称相同,并将父项设置为android:Theme.Holo.Light.NoActionBar (如果您的项目中有样式,也可以在styles(v21)中进行设置)

<style name="AppTheme" parent="android:Theme.Holo.Light.NoActionBar">
    <!-- ... -->
</style>


0

试试:toolbar.setTitle(“”);

@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = findViewById(R.id.toolbar);
    toolbar.setTitle("");
    setSupportActionBar(toolbar);
}

欢迎使用Stack Overflow!请不要只回答源代码。尝试提供有关您的解决方案如何工作的很好的描述。请参阅:我如何写一个好的答案?。谢谢
sɐunıɔןɐqɐp

0

要从活动中删除标题栏(这意味着标题栏包含您的应用程序名称),我只需在以下行中向该活动添加以下行manifests\AndroidManifest.xml

android:theme="@style/AppTheme.NoActionBar"

现在应该如下图所示

<activity
  android:name=".MyActivity"
  android:theme="@style/AppTheme.NoActionBar"></activity>

希望它会有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.