Başlık çubuğunu uygulamamdan nasıl kaldırırım?


90

Uygulamamda, taşma menüsünün olacağı en üstte bu başlık çubuğu var, ancak ayarlara ihtiyacım yok ve yalnızca bir ekranım var. Diğer birçok soruda anlatıldığı gibi temayı değiştirdiğimde eski 2.2 temasını elde ediyorum. Modern temayı sadece üstteki çubuk olmadan elde etmek istiyorum.

Yanıtlar:


156

Styles.xml ve değişim git .DarkActionBariçin.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>

olur

<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>

renkler uygulamanızla alakasızsa, aslında

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

1
Beklendiği gibi çalışıyor. Ancak, tüm aktif uygulamaları görüntülerken başlık da kaybolur.
IAbstract

@IAbstract'u nasıl düzeltirsiniz?
Pablo Biedma

@PabloBiedma: Bilmiyorum.
IAbstract

60

Manifest dosyasında Değiştir:

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

4
Bu eserlerin iken, düzenleme styles.xmlbu yöntemi kullanarak altında kurulmuş olabilecek değerleri yok sayar dosyayı çoğu için daha iyi bir seçenek olabilir AppThemede styles.xmldosyaya. Dosya NoActionBariçindeki üst sınıfla değiştiren aşağıdaki çözüm styles.xml, önceden ayarlanmış olan tüm stil bilgilerini korur.
Lemonseed

Bu durumda tüm uygulama arka planım siyah olacak
Sajid khan

24
this.requestWindowFeature(Window.FEATURE_NO_TITLE);

onCreate()önce koyulduğunda çalışır setContentView().

aksi takdirde çöker


6
Bu, uygulamanın çökmesine neden olur. Ben aradaki çizgiyi koymak super.onCreate.....ve setContentView..... Ve çöküyor
Nalorin

Bunu yapmanın doğru yolu bu değil. Bay Torres bunu iyi açıkladı.
Jithin Pavithran

16

In styles.xml dosyası, değiştirmek DarkActionBar için 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>


13

Şuna göz at

 ActionBar actionBar = getSupportActionBar();
    actionBar.hide();

Bu, çubuğu bir programın kendisi tarafından gizlemek için çalışan koddur. Program başladıktan hemen sonra çubuğu gizlemek onCreate(...)için super.onCreate(..)ve setContentView(...)satırlarından sonra yapıcıya yerleştirilebilir .
Milan Kerslager

9

Bu benim için çalışıyor

getSupportActionBar().hide();

8

Proje -> uygulama -> ana -> res -> değerler -> styles.xml'ye gidin

Her görünümde silmek istiyorsanız bu satırı değiştirin

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

-e

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

Sadece tek bir görünüm için yapmak istiyorsanız, bunu manifest verilerinizde değiştirebilirsiniz. Android -> bildirimler -> AndroidManifest.xml'ye gidin. aşağıdakileri yapın:

  1. Bu tür bir değişikliği almak istediğiniz Görünümü arayın <activity android:name"...">
  2. Ekle android:theme=""@style/Theme.AppCompat.NoActionBar"

Bu çözümü beğendim. Bildirimde, Theme.MyApp gibi önceden uygulanmış herhangi bir temayı (veya stili) kaldırmaya zorlayan NoActionBar ayarının aksine, bu çözümle Theme.MyApp'i düzenleyebilir ve birkaç özelleştirmeyi koruyabilirsiniz.
MasterJEET

7

Manifest dosyasında şuna değiştirin:

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

7

Bu benim için values/styles.xmlöğe eklemek için çalışıyordu :

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

4
  1. stilleri.xml açın
  2. eklemek
 <style name="no_title" parent="AppTheme">
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowContentOverlay">@null</item>
 </style>

adı değiştirebilirsiniz = "---------"

  1. Androidmaifest.xm'yi açın

    android'i bul: theme = "@ style / AppTheme" android için değişiklik: theme = "@ style / no_title"

  2. menü çubuğunda Tema'yı seçin (MainActivity'nin yanında yeşil renk)

    • proje temasına tıklayın
    • no_title tıklayın (sağ tarafta)
    • Tamam'ı tıklayın

4

Benim Gibi Yeni Başlayanlar İçin. Android Projenizden ne dersem onu ​​yapın.

app -> res -> değerler -> style.xml

bu kodu değiştir

<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>

Zevk almak.


3

aşağıdakileri Activity_main.xml'den silin

<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"/>

daha fazla yardım için benimle iletişime geçin


2

bunu manifest dosyanızda yapın:

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

beni eski android tasarımına geçiriyor (siyah arka plan, sarı çerçeveli metin kutuları ...)
Jonas

deneyin android:theme="@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen"emin api seviyesi min 14. kullandığınız markasını
Rüstem

Bunu hafif bir tema için kullanabilirsiniz: android: theme = "@ style / Theme.AppCompat.Light.NoActionBar">
XIII

2

this.requestWindowFeature (Window.FEATURE_NO_TITLE);

onCreate () çalışır!


2

Bu işe yaramazsa stilleri NoActionBar olarak değiştirmeyi deneyin, bu kodu ana etkinliğinize ekleyin

 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

Bu benim için çalışıyor umarım bu senin için de çalışır

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

En iyi yol, setTitle()logonuzu göstermek veya eylem çubuğunuzda başka şeyler olmasını istiyorsanız, ancak uygulamanın adını görmek istemiyorsanız, bu kodu MainActivity.java veya başlığı gizlemek istediğiniz herhangi bir yere yazın 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

Bu şekilde uygulamanızın çökme nedeni olmayacaktır.


1

Sadece setTitle(null)yukarıda kullan

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

Başlık kaybolacak ve istediğiniz logoyu kullanabilirsiniz .....



1

Sizinle aynı problemle karşılaştım ve bu problemi sadece genişlettiğim sınıfı değiştirerek çözdüm.

//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
{}

Umarım bu sorununuzu çözer.


0

In AndroidManifest.xmlBaşvurunuzun bulacaksınız android:themeörneğin set@style/AppTheme

Şimdi gidin styles.xml, stil etiketini bulun, adın AppThememanifestteki ile aynı olduğundan emin olun ve parent olarak ayarlayın android:Theme.Holo.Light.NoActionBar (bunu projenizde varsa stillerde (v21) de yapın)

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


0

deneyin: 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'a hoş geldiniz! Lütfen sadece kaynak koduyla cevaplamayın. Çözümünüzün nasıl çalıştığı hakkında güzel bir açıklama sağlamaya çalışın. Bakınız: Nasıl iyi bir cevap yazabilirim? . Teşekkürler
sɐunıɔ ןɐ qɐp

0

Bir etkinlikten başlık çubuğunu (bu, çubuğun uygulamanızın adını içerdiği anlamına gelir) basitçe kaldırmak için, aşağıdaki satırda o etkinliğe şu satırları eklemem yeterli manifests\AndroidManifest.xml:

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

Şimdi aşağıdaki gibi görünmeli

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

Umarım faydalı olur.


0
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    getSupportActionBar().hide();

    setContentView(R.layout.activity_main);

Sadece ve yöntem getSupportActionBar().hide(); arasına koyun .super.onCreatesetContentView

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.