Android uygulamasında Toolbar.setTitle yönteminin bir etkisi yoktur - uygulama adı başlık olarak gösterilir


298

Android-support-v7: 21 kütüphanesini kullanarak basit bir uygulama oluşturmaya çalışıyorum.

Kod parçacıkları:
MainActivity.java

public class MainActivity extends ActionBarActivity {

    Toolbar mActionBarToolbar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mActionBarToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);            
        mActionBarToolbar.setTitle("My title");
        setSupportActionBar(mActionBarToolbar);
}

activity_main.xml

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    android:orientation="vertical">

    <android.support.v7.widget.Toolbar            
        android:id="@+id/toolbar_actionbar"
        android:background="@null"
        android:layout_width="match_parent"
        android:layout_height="?actionBarSize"
        android:fitsSystemWindows="true" />

</LinearLayout>

Ancak Araç Çubuğu'nda "Başlığım" yerine% uygulama adı% gösterilir. Yöntemin bir etkisi yok
gibi görünüyor setTitle.
"Başlığım" ı göstermek istiyorum.

UPD: Daha önce styles.xml:

<style name="AppTheme" parent="Theme.AppCompat">
    <item name="windowActionBar">false</item>
</style>

Bu yüzden, eylem çubuğunun kullanılmadığını düşündüm. NoActionBarStil ebeveynine ekliyorum :

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="windowActionBar">false</item>
</style>

Ancak sorun çözülmedi.


4
FWIW, ben api 22 düzeyinde ve ben setSupportActionBar çağırdıktan sonra setTitle çağırırsanız aynı sorunu vardı , ama daha önce setTitle çağırırsanız işe yaradı . Aşağıdaki yanıtta açıklandığı gibi, setSupportActionBar öğesini çağırdıktan sonra, eylem çubuğu araç çubuğunun sahipliğini alır ve doğrudan araç çubuğundaki çağrılar çalışmayabilir. Ben sorunuzu anlamıyor musun yaptılar yüzden muhtemelen bu son zamanlarda değişti şeydir, setSupportActionBar önce aslında çağrı SetTitle içinde. Her durumda, getSupportActionBar () .setTitle öğesi de aynı şekilde çalışır.
JHH


Deneyin - “Araç Çubuğu ile Etkinlik için bir başlık nasıl ayarlanır?” link.medium.com/cGVg3zVr0Z
Werder

Yanıtlar:


560

Çözüm bulundu:

Onun yerine:

mActionBarToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);            
mActionBarToolbar.setTitle("My title");
setSupportActionBar(mActionBarToolbar);

Kullandım:

mActionBarToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);            
setSupportActionBar(mActionBarToolbar);
getSupportActionBar().setTitle("My title");

Ve çalışıyor.


27
güzel bir, ama bu şekilde çalışmak ve diğer değil mantıklı .... android 101 hoş geldiniz
DoruChidean

28
getSupportActionBar().setTitle("My title");'java.lang.NullPointerException' üretebilir
Pratik Butani

8
@PratikButani Araç Çubuğu getSupportActionBar () öğesini çağırmadan önce setSupportActionBar () olarak ayarlandığı sürece neden olabilir?
Leon

3
Aha, kolayca çözüldü: getSupportActionBar ()! = Null;
Leon

10
Beyler @PratikButani yorumunu birçok kez gerçekten iptal ettiniz mi? Eylem çubuğu olmadan ancak özel destek araç çubuğu v7 olmadan stil teması kullanırsanız ve setSupportActionBar(mToolbar)elbette aramayı unutursanız, boş bir istisna alırsınız, ancak çağırdıysanız, bu mesajı yok sayın. Sadece okuyun - developer.android.com/training/appbar/setting-up.html
user25

115

Araç Çubuğu üzerinden başlığı ayarlaması gereken herkes içinSupportActionBar'ı ayarladıktan bir süre sonra okuyun.

Destek kitaplığının dahili uygulaması, yalnızca Araç Çubuğunun SupportActionBar kurulduğu anda bir başlığı (boş değil) olup olmadığını kontrol eder. Varsa, pencere başlığı yerine bu başlık kullanılacaktır. Daha sonra gerçek başlığı yüklerken sahte bir başlık ayarlayabilirsiniz.

mActionBarToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
mActionBarToolbar.setTitle("");
setSupportActionBar(mActionBarToolbar);

sonra...

mActionBarToolbar.setTitle(title);

İşe yarıyor ama neden böyle yapılmasının benim için bir anlamı yok. Bunun neden işe yaradığına dair bir açıklaması olan var mı?
Maxwell

1
@Maxwell Eylem çubuğu / araç çubuğu etkileşiminin tasarımını dikkate almak mantıklıdır. Etkinlik bir başlık görüntülemelidir, bu başlık olmadan bir araç çubuğu sağlarsanız, android geleneksel Etkinlik başlık kontrolünü istediğinizi varsayar.
Drew

1
mActionBarToolbar.setTitle (. GetResources () getString (R.string.app_name)); cevabın aynı büyülü etkisini korurken iyi bir varsayılan başlık olmasını sağlayacaktır
Eslam Sameh Ahmed

@Yayın işe yarıyor, sadece bu cevabın kaç oyu olduğunu görün ... yanlış bir şey yaptınız
user25

@ user25, o da benim için kötü çalıştı, bir geri ok kaldırıldı. Sonra başka bir çözüm buldum: stackoverflow.com/a/40571324/2914140 . this.setTitle("Title"), burada this- bir etkinliğe referanstır.
CoolMind

80

Yukarıdaki cevap tamamen doğru ama benim için çalışmıyor.

Sorunumu aşağıdaki şeylerle çözdüm.

Aslında benim XML böyle:

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/confirm_order_mail_layout"
    android:layout_width="match_parent"
    android:layout_height="fill_parent">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/confirm_order_appbar_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/confirm_order_list_collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fitsSystemWindows="true"
            app:contentScrim="?attr/colorPrimary"
            app:expandedTitleMarginEnd="64dp"
            app:expandedTitleMarginStart="48dp"
            app:layout_scrollFlags="scroll|enterAlways">

            <android.support.v7.widget.Toolbar
                android:id="@+id/confirm_order_toolbar_layout"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary"
                app:layout_scrollFlags="scroll|enterAlways"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light">

            </android.support.v7.widget.Toolbar>
        </android.support.design.widget.CollapsingToolbarLayout>
    </android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>

Ben tüm seçeneği denedim ve sonuçta ben sadece CollapsingToolbarLayoutnedeniyle bu belirli XMLbenim Son XML gibi kullanmak gerekmez çünkü kaldırıldı :

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/confirm_order_mail_layout"
    android:layout_width="match_parent"
    android:layout_height="fill_parent">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/confirm_order_appbar_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.v7.widget.Toolbar
            android:id="@+id/confirm_order_toolbar_layout"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|enterAlways"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light">

        </android.support.v7.widget.Toolbar>
    </android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>

Şimdi setTitle()yukarıdaki cevap gibi kullanmalısınız :

mActionBarToolbar = (Toolbar) findViewById(R.id.confirm_order_toolbar_layout);            
setSupportActionBar(mActionBarToolbar);
getSupportActionBar().setTitle("My Title");

Kullanmak istediğiniz Asistan CollapsingToolbarLayoutve Toolbardaha sonra birlikte kullanmak zorunda setTitle()arasındaCollapsingToolbarLayout

CollapsingToolbarLayout collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.confirm_order_mail_layout);
collapsingToolbarLayout.setTitle("My Title");

Size yardımcı olsun. Teşekkür ederim.


1
Bu mantıklı, CollapsingToolbarLayoutsorunu çözdü
blueware

2
Benim için CollapsingToolbarLayout için başlık ayarlama hilesi işe yarıyor. Çok teşekkürler!
mysliwiec_tech

Altyazıyı ile değiştirebilir miyim CollapsingToolbarLayout?
nrofis

2
Araç çubuğu CollapsingToolbarLayout altında yuvalandığından, araç çubuğu düzeni daraltılarak geçersiz kılınır. Bu benim için çalışıyor.
neilQ5

2
Hayatımı kurtar kardeşim !!! ColpsingToolbarLayout.seTitle ("Title") öğesini kullanmadan önce her iki setSupportActionbar öğesini de ayarlamanız gerekir;
Jacky Chong

35

Basitçe kullanarak herhangi bir etkinlik adını değiştirebilirsiniz

Acitivityname.this.setTitle("Title NAme");

1
Ya da sadece title = "Title"Kotlin'de ya da this.setTitle("Title")Java'da.
CoolMind

33

Bunu deneyin, başlığı doğrudan XML'de tanımlayabilirsiniz:

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

Herhangi bir fikriniz varsa en kolay ama yine de dinamik olarak özel başlıklar gerekiyor
aya salama

15

Her Navbar parçası başlığı için başlığı ayarlamak için

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
{
    myView = inflater.inflate(R.layout.second_layout, container, false);
    getActivity().setTitle("title");

    return myView;
}

12

Bunu deneyin .. bu yöntem benim için çalışıyor .. !! umarım birine yardımcı olabilir .. !!

<android.support.v7.widget.Toolbar  
 xmlns:app="http://schemas.android.com/apk/res-auto"  
 android:id="@+id/my_awesome_toolbar"  
 android:layout_width="match_parent"  
 android:layout_height="wrap_content"  
 android:background="?attr/colorPrimary"  
 android:minHeight="?attr/actionBarSize"  
 app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" >  

<TextView  
   android:id="@+id/toolbar_title"  
   android:layout_width="wrap_content"  
   android:layout_height="wrap_content"  
   android:gravity="center"  
   android:singleLine="true"  
   android:text="Toolbar Title"  
   android:textColor="@android:color/white"  
   android:textSize="18sp"  
   android:textStyle="bold" />  

</android.support.v7.widget.Toolbar>  

Logoyu araç çubuğunda görüntülemek için aşağıdaki kod parçasını deneyin. // Çekilebilir olarak ayarla

toolbar.setLogo(ContextCompat.getDrawable(context, R.drawable.logo));

Sonucu bana bildirin.


Teşekkür ederim Ragu Swaminathan .. Ben aktiviteye bir başlık vermek için appcompact faaliyetten SupportActionBar uygulamak çalışıyordum ama bunu yapamıyorum çünkü BaseGameActivity genişletmek gerekir. Sonra araç çubuğuna gidiyorum ama başlık çalışırken görüntülenmiyor. Araç çubuğunun içindeki metin kutusunu kullanma yönteminiz çalışıyor. Aynı durumdaki insanlara tavsiye
Sarun1001

araç çubuğunda uygulama logosunu ayarlama yöntemi vardır. güncellenmiş cevabımı kontrol et
Ragu Swaminathan

11
 getSupportActionBar().setTitle("Your Title");

2
Bu cevap bir saplamadır ve daha çok bir yorum olmalıdır , çünkü bunun gibi kısa cevaplar düşük kalite olarak kabul edilebilir. Yeterli bir üne sahip olduğunuzda yorum yapabilirsiniz. Yeterli saygınlığınız yoksa, henüz yeterli saygınlığınız yoksa nasıl katkıda bulunabileceğinizle ilgili bu yayını okuyun .
ascripter

@ascripter bir cevap
Jemshit Iskenderov

8

Lütfen https://code.google.com/p/android/issues/detail?id=77763 adresini ziyaret edin . Görünüşe göre böyle çalışması gerekiyor. Aradığınızda kez setSupportActionBar()yöntem çağrısı, daha sonra rotaya İşlem Çubuğu delegesi sorumluluğu doğru görünüme çağrıdır.


1
Bu Actionbar temsilcisi nedir? Burada setTitle () araç çubuğu için de destek eylemi çubuğu için çalışmaz. Yerel eylem çubuğu temada devre dışı bırakıldı. Yanlış olan ne? Android Studio'da yalnızca kaynak kodu eki çalıştıysa, sorunu kendim izleyebilirdim!
WindRider

6

Araç çubuğunu parçadan yeniden adlandırmaya çalıştım

Bana yardımcı oldu, başka birine yardım etmeyi umuyorum

Activity activity = this.getActivity();
Toolbar toolbar = (Toolbar) activity.findViewById(R.id.detail_toolbar);
        if (toolbar != null) {
            activity.setTitle("Title");
        }

//toolbar.setTitle("Title"); did not give the same results

Ekran görüntüsü: resim açıklamasını buraya girin


6

Sadece ilgili değil .setTitle

daha fazla Destek Araç Çubuğu (Appcompat v7) yöntemi onCreateyalnızca

getSupportActionBar().method()

ve ile çalışma mToolbar.method()

örnekler:

getSupportActionBar().setTitle("toolbar title");
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

Bir sonraki yöntemlerle olsa olmadan cezası işleri getSupportActionBar()deonCreate

mToolbar.setVisibility(View.VISIBLE);
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //
    }

Yalnızca onCreateolayla ilgili sorun mToolbar.setTitle(), sinir bozucu yerine daha sonra da kullanabilirsiniz getSupportActionBar().setTitle(), örneğin bunu eklerseniz onCreateişe yarayacaktır (çünkü daha sonra çalıştırılacaktır onCreate)

mHandler.post(new Runnable() {
    @Override
    public void run() {
        mToolbar.setTitle("toolbar title");
    }
});

Bu çözümü kullanmayı tercih https://stackoverflow.com/a/35430590/4548520 daha https://stackoverflow.com/a/26506858/4548520 sen (farklı işlevlerde) başlık defalarca değiştirirseniz çünkü kullanımına daha rahattır mToolbar.setTitle()daha uzun olandan daha fazladır getSupportActionBar().setTitle()ve null istisnası hakkındagetSupportActionBar().setTitle()


başlığı birçok kez değiştirmek ve ve daraltma araç çubuğunu kullanmak istiyorsanız, bu yardımcı olacaktır: stackoverflow.com/questions/26486730/…
user1506104

6

SupportActionBar (@sorianiv) ayarladıktan sonra Araç Çubuğu üzerinden biraz zaman başlığını kurmak için ihtiyaç duyan herkes için VE senin Toolbarbir iç isimli CollapsingToolbarLayoutbunu okuyun:

mToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.toolbar_layout);
Toolbar toolbar = findViewById(R.id.toolbar);
//toolbar.setTitle(""); // no need to do this
//mToolbarLayout.setTitle("Title"); // if you need an initial title, do this instead
setSupportActionBar(toolbar);

Daha sonra,

mToolbarLayout.setTitle("New Title");

5

Uygulama başlığı her etkinlikte varsayılan başlık olarak gösterilmez, her etkinliğe farklı başlık ekleyebilirsiniz. OnCreate'nin altındaki etkinlik dosyanızda, başlığı ayarlamak için tek bir satır yapıştırın,

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setTitle("Your Title Here");

"Başlığınız Burada" metnini metninizle değiştirmeniz yeterlidir.


4

Bunu MainActivity'nin AppCompactActivity'niz olduğu adaptörünüzde kullanmanız yeterlidir. İstediğiniz yerden arayın.

((MainActivity) context).getSupportActionBar().setTitle(titles.get(position));

4

Kullanarak çalıştım -

toolbar.post(new Runnable() {
            @Override
            public void run() {
                toolbar.setTitle("My Title");
            }
        });

1
postUI iş parçacığında başlığı değiştiriyorsanız kullanmanız gerekmez , bence vakaların% 90'ı.
Vadim Kotov

3

Eğer kullanıyorsanız CollapsibleToolbarLayoutile birlikteToolbar o zaman düzenleri hem de set başlığı gerekecektir

onCreateyönteminde Araç Çubuğunuzu işlem çubuğu olarak ayarlama

protected void setUpToolBar() {

    if (mToolbar != null) {
        ((HomeActivity) getActivity()).setSupportActionBar(mToolbar);
        mToolbar.setTitleTextColor(Color.WHITE);
        mToolbar.setTitle("List Detail");
        mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                getActivity()
                        .getSupportFragmentManager().popBackStack();
            }
        });
        ((HomeActivity) getActivity()).getSupportActionBar()
                .setDisplayHomeAsUpEnabled(true);
    }
}

Daha sonra setTitleyöntemi kullanarak araç çubuğunun başlığını güncelleyin

 mToolbar .setTitle(productFromShoppingList.getProductName()); 
 mCollapsingToolbar.setTitle(productFromShoppingList.getProductName());

Bu çözüm, başlığı bir kez ayarlayabileceğinizi ancak bundan sonra değiştiremeyeceğinizi fark ederseniz çalışır. Daraltma Araç Çubuğunun başlığını ayarladığınızdan emin olun.
Hylianpuffball

daraltma araç çubuğuyla bir süre sonra başlığı değiştirmek istiyorsanız, bunu yapabilirsiniz: stackoverflow.com/questions/26486730/…
user1506104

2

Bunu dene:

XML Kodu

<android.support.v7.widget.Toolbar
    android:layout_width="match_parent"
    android:layout_height="120dp"
    android:id="@+id/tool_bar"
    android:background="@color/tablayout"
    android:theme="@style/ToolBarStyle"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/app_name"
        android:layout_gravity="center"
        android:id="@+id/toolbar_title"
        android:textSize="18sp"
        android:textColor="@color/white"/>
    </android.support.v7.widget.Toolbar>

Java Kodu

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    toolbar = (Toolbar) findViewById(R.id.tool_bar);
    toolbar_text = (TextView)findViewById(R.id.toolbar_title);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowTitleEnabled(false);
    toolbar.setLogo(R.drawable.ic_toolbar);
}

2

Hedefiniz araç çubuğunda statik bir dize ayarlamaksa, bunu yapmanın en kolay yolu AndroidManifest.xml dosyasında etkinlik etiketini ayarlamaktır:

<activity android:name=".xxxxActivity"
          android:label="@string/string_id" />

Araç çubuğu bu dizeyi herhangi bir kod olmadan alır. (benim için v27 kütüphaneleriyle çalışır.)


2

Sana yardım edebilecek garip bir davranışım var.
Bu çalışıyor ancak yalnızca onCreate üzerinde bir etkisi yok:

toolbar.setTitle("title");

Bunu onCreate'da kullanmaya çalışın:

yourActivityName.this.setTitle("title")

2

Her farklı etkinliğin başlığını değiştirmek için

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_pizza);
    setTitle(getResources().getText(R.string.title));
}

setTitle (R.string.title); Etkinlik daha kolay, ancak çalışmıyor
toshkinl

2
 public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);

       //custom toolbaar
       getSupportActionBar().setTitle("Abhijeet");

    }
}

1

Bu özel kurulumla hemen alakalı olmasa da, araç çubuğumu bir AppBarLayout içinde sarmalayan "CollapsingToolbarLayout" ifadesini XML'den kaldırmanın her şeyin işe yaradığını gördüm.

Yani, bu:

      <android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_height="?attr/actionBarSize"
                app:layout_scrollFlags="scroll|enterAlways"
                app:navigationIcon="@drawable/ic_arrow_back_white_24dp" />

        </android.support.design.widget.AppBarLayout>

Bunun yerine:

        <android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <android.support.design.widget.CollapsingToolbarLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/collapsingToolbar"
                android:minHeight="?attr/actionBarSize"
                app:layout_scrollFlags="enterAlways|scroll|snap">

                <android.support.v7.widget.Toolbar
                    android:id="@+id/toolbar"
                    android:layout_height="?attr/actionBarSize"
                    app:navigationIcon="@drawable/ic_arrow_back_white_24dp" />
            </android.support.design.widget.CollapsingToolbarLayout>

        </android.support.design.widget.AppBarLayout>

Daha sonra, setSupportActionBar () çağrılmadan önce etkinliğin onCreate öğesinde başlığı ayarladım.


bunu yapabilirsin. gerçekten daraltma araç çubuğu düzenine ihtiyacınız varsa, şunu kontrol edin: stackoverflow.com/questions/26486730/…
user1506104

@Chantell Osejo bu da benim için çalıştı, ben de aynı düzeni kullanıyordum. Teşekkürler
Paramjit Singh Rana

1

Bu android:label, AndroidManifest.xmldosyadaki etkinliğinizin niteliğini ayarlayarak yapılabilir :

<activity android:name="my activity"
 android:label="The Title I'd like to display" />

Ve sonra bu satırı onCreate () öğesine ekleyin:

getSupportActionBar().setDisplayShowTitleEnabled(true);

0

Bu seçeneği eklediğinizden emin olun:

getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE);

0

Cevap belgelerde ( burada bulabilirsiniz ):

ActionBar yardımcı program yöntemlerini kullanmak için etkinliğin getSupportActionBar () yöntemini çağırın. Bu yöntem, bir appcompat ActionBar nesnesine başvuru döndürür. Bu referansı aldıktan sonra, uygulama çubuğunu ayarlamak için ActionBar yöntemlerinden herhangi birini çağırabilirsiniz. Örneğin, uygulama çubuğunu gizlemek için ActionBar.hide () öğesini çağırın.

Bulduğunuz çözüm budur. Sadece resmi belgelere atıfta bulunmayı düşündüm (görünüşe göre çok azı okuma eğilimindedir).


0

Kotlin'de bunu yapabilirsiniz:

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.Toolbar

class SettingsActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_settings)

        val toolbar = findViewById<Toolbar>(R.id.toolbar)
        setSupportActionBar(toolbar)
        supportActionBar?.setDisplayHomeAsUpEnabled(true)
        supportActionBar?.setTitle(R.string.title)

    }

    override fun onSupportNavigateUp() = true.also { onBackPressed() }

}

-2

Bu, Araç Çubuğu ve ActionBar'ı her ikisini de kullandığınız için oluyor. Şimdi Araç Çubuğu'nu bir işlem çubuğu olarak kullanmak istediğiniz için yapmanız gereken ilk şey, dekor tarafından sağlanan eylem çubuğunu devre dışı bırakmaktır.

En kolay yol, temanızı genişletmektir Theme.AppCompat.NoActionBar.


Üzgünüm soruyu yanlış anladım.
Haresh Chhelana

1
@HareshChhelana Cevap gönderdiniz ancak sorunun tam olarak ne olduğunu biliyor musunuz?
Paresh Mayani

Sanırım hangi eylem çubuğu set kiremit sorunu bu tür ans verilen olduğunu düşünüyorum ve bana bunu fark bu zaman ve şimdi yanlış anlaşılmış kardeşim hakkında endişelenmeyin ans sildi.
Haresh Chhelana

1
@PareshMayani Cevabınız için teşekkür ederim, ancak sorunumu çözmüyor. Lütfen, güncellenmiş soruyu kontrol edin
krossovochkin
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.