Pembaruan: Pola ActionBar (Judul) Terbaru:
FYI, ActionBar diperkenalkan di API Level 11. ActionBar adalah fitur jendela di bagian atas Kegiatan yang dapat menampilkan judul aktivitas , mode navigasi, dan item interaktif lainnya seperti pencarian.
Saya ingat persis tentang mengkustomisasi bilah judul dan membuatnya konsisten melalui aplikasi. Jadi saya bisa membuat perbandingan dengan hari-hari sebelumnya dan dapat membuat daftar beberapa keuntungan menggunakan ActionBar:
- Ini menawarkan pengguna Anda antarmuka yang akrab di seluruh aplikasi yang sistem anggun beradaptasi untuk berbagai konfigurasi layar.
- Pengembang tidak perlu menulis banyak kode untuk menampilkan Judul Aktivitas, ikon dan mode navigasi karena ActionBar sudah siap dengan abstraksi tingkat atas.
Sebagai contoh:
=> Cara normal,
getActionBar().setTitle("Hello world App");
getSupportActionBar().setTitle("Hello world App"); // provide compatibility to all the versions
=> Kustomisasi Action Bar,
Sebagai contoh:
@Override
public void setActionBar(String heading) {
// TODO Auto-generated method stub
com.actionbarsherlock.app.ActionBar actionBar = getSupportActionBar();
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.title_bar_gray)));
actionBar.setTitle(heading);
actionBar.show();
}
Styling the Action Bar:
ActionBar memberi Anda tampilan dasar dan akrab, mode navigasi, dan tindakan cepat lainnya untuk dilakukan. Tapi itu tidak berarti itu terlihat sama di setiap aplikasi. Anda dapat menyesuaikannya sesuai UI dan persyaratan desain Anda. Anda hanya perlu mendefinisikan dan menulis gaya dan tema.
Baca lebih lanjut di: Styling the Action Bar
Dan jika Anda ingin menghasilkan gaya untuk ActionBar maka alat Generator Gaya ini dapat membantu Anda.
================================================== ===============================
Lama: Hari-hari sebelumnya:
=> Cara normal,
Anda dapat Mengubah Judul setiap layar (yaitu Aktivitas) dengan mengaturnya Android:label
<activity android:name=".Hello_World"
android:label="This is the Hello World Application">
</activity>
=> Kustom - Judul - bar
Tetapi jika Anda ingin Menyesuaikan bilah judul dengan cara Anda sendiri, yaitu Want to put Image icon and custom-text
, maka kode berikut ini berfungsi untuk saya:
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
titlebar.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="400dp"
android:layout_height="fill_parent"
android:orientation="horizontal">
<ImageView android:id="@+id/ImageView01"
android:layout_width="57dp"
android:layout_height="wrap_content"
android:background="@drawable/icon1"/>
<TextView
android:id="@+id/myTitle"
android:text="This is my new title"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="@color/titletextcolor"
/>
</LinearLayout>
TitleBar.java
public class TitleBar extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final boolean customTitleSupported =
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
if (customTitleSupported) {
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,
R.layout.titlebar);
}
final TextView myTitleText = (TextView) findViewById(R.id.myTitle);
if (myTitleText != null) {
myTitleText.setText("NEW TITLE");
// user can also set color using "Color" and then
// "Color value constant"
// myTitleText.setBackgroundColor(Color.GREEN);
}
}
}
strings.xml
File strings.xml didefinisikan di bawah values
folder.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, Set_Text_TitleBar!</string>
<string name="app_name">Set_Text_TitleBar</string>
<color name="titlebackgroundcolor">#3232CD</color>
<color name="titletextcolor">#FFFF00</color>
</resources>
Anda dapat menentukan label untuk setiap aktivitas dalam file manifes Anda.
Definisi normal dari suatu kegiatan terlihat seperti ini:
Di mana teks judul harus diganti dengan id sumber daya string untuk aktivitas ini.
Anda juga dapat mengatur teks judul dari kode jika Anda ingin mengaturnya secara dinamis.
dengan baris ini judulnya diatur ke kota alamat tertentu dalam metode aktivitas saya.
sumber
Anda dapat menentukan judul Anda secara terprogram menggunakan
setTitle
dalam AndaActivity
, metode ini dapat menerima salah satuString
atau ID yang ditentukan dalamvalues/strings.xml
file Anda . Contoh:sumber
Kami dapat mengubah judul ActionBar dalam satu dari dua cara:
Di Manifest: di file manifes, tetapkan label masing-masing Aktivitas.
Dalam kode: dalam kode, panggil metode setTitle () dengan sebuah String atau id dari String sebagai argumen.
sumber
Di dalam Activity.onCreate () panggilan balik atau di tempat lain di mana Anda perlu mengubah judul:
sumber
coba lakukan ini ...
ini bekerja untuk saya
sumber
Sedikit lebih tua tetapi memiliki masalah yang sama. Saya melakukannya seperti ini:
strings.xml
<string name="title_awesome_app">My Awesome App</string>
dan pastikan Anda mengatur ini di AndroidManifest.xml Anda :
itu mudah dan Anda tidak perlu khawatir tentang referensi-nol dan hal-hal lain.
sumber
sumber
Cara termudah untuk mengubah nama bilah tindakan adalah dengan membuka AndroidManifest.xml dan ketik kode ini.
sumber
Anda cukup menambahkan kode ini dalam
onCreate
metode ini.sumber
Untuk informasi lebih lanjut, periksa tautan ini:
http://android--code.blogspot.in/2015/09/android-how-to-change-actionbar-title_21.html
sumber
Cara terbaik untuk mengubah nama bilah tindakan adalah dengan masuk ke AndroidManifest.xml dan ketik kode ini.
sumber
Kotlin
Anda dapat melakukannya secara terprogram di Kotlin dengan cara ini. Anda abaikan saja jika "supportActionBar" adalah nol :
Atau dengan cara ini. Itu melempar pengecualian jika "supportActionBar" adalah nol.
sumber
Cara termudah adalah menelepon
this.setTitle("...")
jika Anda sedang beraktifitas. Dan jika Anda berada dalam sebuah fragmen, panggil sajagetActivity().setTitle("...")
;Dengan cara ini Anda dapat mengubah judul kapan saja, tidak perlu menyebutnya sebelumnya
setContentView(R.layout.activity_test)
;sumber
Untuk pengembang masa depan yang menggunakan AndroidX dan komponen arsitektur navigasi .
Alih - alih mengatur judul bilah alat menggunakan salah satu solusi di atas, yang bisa sangat menyakitkan jika Anda ingin mengaturnya secara dinamis pada perubahan tumpukan belakang, Anda dapat mengatur placeholder untuk judul fragmen dalam grafik navigasi seperti berikut:
Nilai placeholder harus disediakan menggunakan
FragmentDirections
(melalui metode tindakan).Ini kemudian diganti dalam judul dan tampilkan seperti
Hello World
(kapanplaceholder = "World"
).sumber
getSupportActionBar().setTitle("title");
sumber