Di aplikasi android, metode Toolbar.setTitle tidak berpengaruh - nama aplikasi ditampilkan sebagai judul


298

Saya mencoba membuat aplikasi sederhana menggunakan perpustakaan android-support-v7: 21.

Cuplikan kode:
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>

Tetapi alih-alih "Judul saya" di Toolbar% nama aplikasi% ditampilkan.
Sepertinya setTitlemetode tidak berpengaruh.
Saya ingin menunjukkan "Judul saya".

UPD: Sebelumnya, styles.xmladalah:

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

Jadi, saya pikir actionbar tidak digunakan. Saya menambahkan NoActionBarke style induk:

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

Tapi masalahnya belum terselesaikan.


4
FWIW, saya di api level 22, dan saya memiliki masalah yang sama jika memanggil setTitle setelah memanggil setSupportActionBar, tetapi berhasil jika memanggil setTitle sebelumnya . Seperti dijelaskan dalam jawaban di bawah ini, setelah memanggil setSupportActionBar, bilah tindakan mengambil kepemilikan dari bilah alat dan panggilan langsung pada bilah alat mungkin tidak berfungsi. Saya menyadari bahwa dalam pertanyaan Anda , Anda sebenarnya memanggil setTitle sebelum setSupportActionBar, jadi mungkin ini adalah sesuatu yang telah berubah baru-baru ini. Bagaimanapun, menggunakan getSupportActionBar (). SetTitle juga berfungsi.
JHH

Permintaan yang sama ditanyakan di stackoverflow.com/questions/15560904/…
JoboFive

Cobalah - "Bagaimana mengatur judul untuk Aktivitas dengan ToolBar?" link.medium.com/cGVg3zVr0Z
Werder

Jawaban:


559

Menemukan solusinya:

Dari pada:

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

Saya menggunakan:

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

Dan itu berhasil.


27
bagus, tapi tidak masuk akal untuk bekerja dengan cara ini dan bukan yang lain .... selamat datang di android 101
DoruChidean

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

8
@PratikButani Selama Toolbar telah ditetapkan sebagai setSupportActionBar () sebelum memanggil getSupportActionBar () mengapa mungkin?
Leon

3
Aha, mudah diselesaikan: menegaskan getSupportActionBar ()! = Null;
Leon

10
Kawan, apakah Anda benar-benar menaikkan komentar @PratikButani berkali-kali? Jika Anda menggunakan tema gaya tanpa bilah tindakan tetapi bilah alat dukungan kustom v7 dan Anda lupa menelepon setSupportActionBar(mToolbar)tentu saja Anda akan mendapatkan pengecualian nol, tetapi jika Anda memanggilnya maka abaikan saja pesan ini. Baca saja - developer.android.com/training/appbar/setting-up.html
user25

115

Bagi siapa saja yang perlu mengatur judul melalui Toolbar beberapa saat setelah menetapkan SupportActionBar, baca ini.

Implementasi internal perpustakaan dukungan hanya memeriksa apakah Toolbar memiliki judul (bukan nol) pada saat SupportActionBar diatur. Jika ada, maka judul ini akan digunakan sebagai pengganti judul jendela. Anda kemudian dapat menetapkan judul dummy saat Anda memuat judul asli.

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

kemudian...

mActionBarToolbar.setTitle(title);

Ini bekerja, tetapi mengapa ini harus dilakukan tidak masuk akal bagi saya. Adakah yang punya penjelasan mengapa ini berhasil?
Maxwell

1
@ Maxwell Masuk akal mengingat desain interaksi actionbar / toolbar. Aktivitas akan menampilkan judul, jika Anda menyediakan bilah alat tanpa judul itu, android menganggap Anda menginginkan kontrol judul Aktivitas tradisional.
Drew

1
mActionBarToolbar.setTitle (getResources (). getString (R.string.app_name)); akan memastikan ada judul default yang bagus sambil tetap mempertahankan efek magis yang sama dari jawabannya
Eslam Sameh Ahmed

@Bevor berfungsi, lihat saja jumlah suara jawaban ini ... Anda baru saja melakukan kesalahan
user25

@ user25, ini juga bekerja buruk untuk saya, itu menghapus panah kembali. Kemudian saya menemukan solusi lain: stackoverflow.com/a/40571324/2914140 . this.setTitle("Title"), di mana this- adalah referensi ke suatu aktivitas.
CoolMind

80

Jawaban di atas sepenuhnya benar tetapi tidak berhasil untuk saya.

Saya memecahkan masalah saya dengan hal-hal berikut.

Sebenarnya XML saya seperti itu:

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

Saya telah mencoba semua opsi dan setelah semua saya baru saja dihapus CollapsingToolbarLayoutkarena saya tidak perlu menggunakan yang khusus XMLJadi XML Final saya seperti:

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

Sekarang Anda harus menggunakan setTitle()jawaban seperti di atas:

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

Sekarang Jika Anda ingin menggunakan CollapsingToolbarLayoutdan Toolbarsama, maka Anda harus menggunakan setTitle()dariCollapsingToolbarLayout

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

Semoga ini akan membantu Anda. Terima kasih.


1
Itu masuk akal, menghapus masalah yang CollapsingToolbarLayoutdiselesaikan
blueware

2
Bagi saya trik dengan menetapkan judul untuk CollapsingToolbarLayout berfungsi. Terima kasih banyak!
mysliwiec_tech

Bisakah saya mengganti subtitle CollapsingToolbarLayout?
nrofis

2
Karena bilah alat bersarang di bawah CollapsingToolbarLayout, maka bilah alat akan ditimpa oleh susunan bilah alat bilah alat. Ini bekerja untuk saya.
neilQ5

2
Bro, kamu menyelamatkan hidupku !!! Anda harus menetapkanSupportActionbar sebelum menggunakan collapsingToolbarLayout.seTitle ("Judul");
Jacky Chong

35

Cukup Anda dapat mengubah nama aktivitas dengan menggunakan

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

1
Atau hanya title = "Title"di Kotlin atau mungkin this.setTitle("Title")di Jawa.
CoolMind

33

Coba ini, Anda dapat menentukan judul secara langsung dalam 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:title="some title"
        app:popupTheme="@style/AppTheme.PopupOverlay">

Judul termudah tetapi tetap saya perlu ubahsuaian secara dinamis, jika Anda punya ide
aya salama

15

Untuk mengatur judul untuk setiap judul fragmen Navbar

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

    return myView;
}

12

Coba ini .. metode ini bekerja untuk saya .. !! semoga bisa membantu seseorang .. !!

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

Untuk menampilkan logo di bilah alat, coba cuplikan di bawah ini. // Atur drawable

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

Biarkan saya tahu hasilnya.


Terima kasih Ragu Swaminathan .. Saya mencoba menerapkan SupportActionBar dari aktivitas appcompact untuk memberikan judul pada aktivitas saya tetapi tidak dapat melakukannya karena saya perlu memperpanjang BaseGameActivity. Lalu saya pergi untuk toolbar tetapi judul tidak ditampilkan saat berjalan. Metode Anda menggunakan boks teks di dalam bilah alat berfungsi. Merekomendasikan hal ini kepada orang-orang dalam situasi yang sama
Sarun1001

bilah alat memiliki metode untuk mengatur logo aplikasi. periksa jawaban saya yang diperbarui
Ragu Swaminathan

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

2
Jawaban ini adalah sebuah rintisan dan lebih baik menjadi komentar , karena jawaban pendek seperti ini dapat dianggap berkualitas rendah. Setelah memiliki reputasi yang cukup, Anda dapat berkomentar. Jika Anda tidak memiliki reputasi yang cukup, baca posting ini tentang cara berkontribusi jika Anda belum memiliki reputasi yang cukup.
ascripter

@ascripter itu adalah jawaban
Jemshit Iskenderov

8

Silakan lihat https://code.google.com/p/android/issues/detail?id=77763 . Rupanya itu seharusnya bekerja seperti itu. Setelah Anda memanggil setSupportActionBar()metode panggilan, itu adalah tanggung jawab delegasi ActionBar untuk merutekan panggilan ke tampilan yang benar.


1
Apa itu delegasi Actionbar? Di sini setTitle () tidak berfungsi untuk bilah alat maupun untuk bilah tindakan dukungan. Bilah tindakan asli dinonaktifkan di tema. Apa yang salah? Kalau saja lampiran kode sumber berfungsi di Android Studio, saya bisa melacak masalahnya sendiri!
WindRider

6

Saya mencoba mengubah nama bilah alat dari fragmen

Itu membantu saya, saya berharap dapat membantu orang lain

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

Tangkapan layar: masukkan deskripsi gambar di sini


6

Bukan hanya tentang .setTitle

lebih banyak metode Bilah Alat Dukungan (Appcompat v7) onCreatehanya berfungsi dengan

getSupportActionBar().method()

dan tidak bekerja dengannya mToolbar.method()

contoh:

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

meskipun metode selanjutnya berfungsi dengan baik tanpa getSupportActionBar()dionCreate

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

Masalah hanya dengan onCreateacara, Anda masih dapat menggunakan mToolbar.setTitle()nanti daripada mengganggu getSupportActionBar().setTitle(), misalnya jika Anda menambahkan ini di onCreatedalamnya akan berfungsi (karena akan dieksekusi nanti, setelah onCreate)

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

Saya lebih suka menggunakan solusi ini https://stackoverflow.com/a/35430590/4548520 daripada https://stackoverflow.com/a/26506858/4548520 karena jika Anda mengubah judul berkali-kali (dalam fungsi yang berbeda) lebih nyaman digunakan mToolbar.setTitle()lebih dari getSupportActionBar().setTitle()satu dan Anda tidak melihat pemberitahuan yang mengganggu tentang pengecualian nol seperti dengangetSupportActionBar().setTitle()


jika Anda ingin mengubah judul berkali-kali dan dan menggunakan bilah alat runtuh, ini akan membantu: stackoverflow.com/questions/26486730/…
user1506104

6

Bagi siapa saja yang perlu mengatur judul melalui Toolbar beberapa saat setelah mengatur SupportActionBar (@sorianiv) DAN Anda Toolbarada di dalam CollapsingToolbarLayout, baca ini:

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

Lalu nanti,

mToolbarLayout.setTitle("New Title");

5

Judul aplikasi tidak akan ditampilkan sebagai judul default pada setiap aktivitas, Anda dapat menyisipkan judul yang berbeda pada setiap aktivitas. Pada file aktivitas Anda di bawah onCreate cukup tempelkan satu baris untuk menetapkan judul,

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

Cukup ubah teks "Judul Anda Di Sini" menjadi teks Anda.


4

Cukup gunakan ini di adaptor Anda, Di mana MainActivity adalah AppCompactActivity Anda. Sebut saja dari mana saja.

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

4

Saya membuatnya bekerja dengan menggunakan -

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

1
Anda tidak perlu menggunakan postjika Anda mengubah judul di utas UI, yang menurut saya adalah 90% kasus.
Vadim Kotov

3

Jika Anda menggunakan CollapsibleToolbarLayoutbersama dengan Toolbarmaka Anda harus menetapkan judul di kedua tata letak

atur Toolbar Anda sebagai bar tindakan dalam onCreatemetode

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);
    }
}

Kemudian cukup perbarui judul toolbar menggunakan setTitlemetode

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

Solusi ini berfungsi jika Anda menemukan bahwa Anda dapat menetapkan judul sekali, tetapi tidak dapat mengubahnya setelah itu. Pastikan Anda menyetel judul Bilah Alat Bongkar.
Hylianpuffball

jika Anda ingin mengubah judul setelah beberapa waktu dengan collapsing toolbar, Anda dapat melakukan ini: stackoverflow.com/questions/26486730/…
user1506104

2

Coba ini:

Kode Xml

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

Kode Java

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

Jika tujuan Anda adalah menetapkan string statis di bilah alat, cara termudah untuk melakukannya adalah cukup dengan mengatur label aktivitas di AndroidManifest.xml:

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

Bilah alat akan mendapatkan string ini tanpa kode apa pun. (berfungsi untuk saya dengan perpustakaan v27.)


2

Saya memiliki perilaku aneh yang mungkin dapat membantu Anda.
Ini berfungsi tetapi tidak berpengaruh hanya pada onCreate:

toolbar.setTitle("title");

Coba gunakan ini di onCreate:

yourActivityName.this.setTitle("title")

2

Untuk mengubah judul untuk setiap aktivitas yang berbeda

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

setTitle (R.string.title); Acara lebih mudah, tetapi tidak berhasil
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

Meskipun tidak segera relevan dengan pengaturan khusus ini, saya menemukan bahwa menghapus "CollapsingToolbarLayout" dari XML saya yang membungkus bilah alat saya di dalam AppBarLayout membuat semuanya berfungsi.

Jadi ini:

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

Alih-alih ini:

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

Lalu, saya mengatur judul di aktivitas onCreate, sebelum setSupportActionBar () dipanggil.


kamu bisa melakukan itu. jika Anda benar-benar memerlukan tata letak bilah alat
menyusut

@ Chantell Osejo ini bekerja untuk saya juga, bahkan saya menggunakan tata letak yang sama. Terima kasih
Paramjit Singh Rana

1

Ini dapat dilakukan dengan mengatur android:labelatribut aktivitas Anda di AndroidManifest.xmlfile:

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

Dan kemudian tambahkan baris ini ke onCreate ():

getSupportActionBar().setDisplayShowTitleEnabled(true);

0

Pastikan Anda menambahkan opsi ini:

getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE);

0

Jawabannya ada dalam dokumentasi (yang dapat Anda temukan di sini ):

Untuk menggunakan metode utilitas ActionBar, panggil metode getSupportActionBar () aktivitas. Metode ini mengembalikan referensi ke objek ActionBar appcompat. Setelah Anda memiliki referensi itu, Anda dapat memanggil metode ActionBar untuk menyesuaikan bilah aplikasi. Misalnya, untuk menyembunyikan bilah aplikasi, panggil ActionBar.hide ().

Itulah solusi yang Anda temukan. Bayangkan saja memberikan referensi ke dokumentasi resmi (yang tampaknya sedikit cenderung membaca).


0

Di Kotlin Anda dapat melakukan ini:

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

Ini terjadi karena Anda menggunakan Toolbar dan ActionBar keduanya. Sekarang karena Anda ingin menggunakan Bilah Alat sebagai bilah tindakan, hal pertama yang perlu Anda lakukan adalah menonaktifkan bilah tindakan yang disediakan dekorasi.

Cara termudah adalah memperluas tema Anda Theme.AppCompat.NoActionBar.


Maaf saya salah paham pertanyaan.
Haresh Chhelana

1
@HareshChhelana Anda mengirim jawaban tetapi tahukah Anda apa masalahnya?
Paresh Mayani

Saya pikir yang terkait tindakan bar set masalah ubin yang Anda berikan seperti itu dan ketika Anda menyadari saya ini saya menghapus ans saya jadi sekarang Anda tidak khawatir tentang saudara saya yang salah paham.
Haresh Chhelana

1
@ PareshMayani terima kasih atas jawaban Anda, tetapi itu tidak menyelesaikan masalah saya. Silakan, periksa pertanyaan yang diperbarui
krossovochkin
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.