Aracılığıyla paylaş


İkinci Bir Araç Çubuğu Ekleme

Genel bakış

Toolbar, eylem çubuğunu değiştirmekten fazlasını yapabilir; bir Etkinlik içinde birden çok kez kullanılabilir, ekranın herhangi bir yerine yerleştirilecek şekilde özelleştirilebilir ve ekranın yalnızca kısmi genişliğine yayılacak şekilde yapılandırılabilir. Aşağıdaki örneklerde ikinci bir saniyenin Toolbar nasıl oluşturulacağı ve ekranın en altına nasıl yerleştirilip yerleştirilip yerleştirileme işlemi gösterilmektedir. Bu Toolbar işlem Kopyala, Kes ve Yapıştır menü öğelerini uygular.

İkinci Araç Çubuğunu Tanımlama

Main.axml düzen dosyasını düzenleyin ve içeriğini aşağıdaki XML ile değiştirin:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <include
        android:id="@+id/toolbar"
        layout="@layout/toolbar" />
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/main_content"
        android:layout_below="@id/toolbar">
      <ImageView
          android:layout_width="fill_parent"
          android:layout_height="0dp"
          android:layout_weight="1" />
      <Toolbar
          android:id="@+id/edit_toolbar"
          android:minHeight="?android:attr/actionBarSize"
          android:background="?android:attr/colorAccent"
          android:theme="@android:style/ThemeOverlay.Material.Dark.ActionBar"
          android:layout_width="match_parent"
          android:layout_height="wrap_content" />
    </LinearLayout>
</RelativeLayout>

Bu XML, ekranın ortasına boş ImageView bir dolguyla ekranın altına bir saniye Toolbar ekler. Bunun Toolbar yüksekliği bir eylem çubuğunun yüksekliğine ayarlanır:

android:minHeight="?android:attr/actionBarSize"

Bunun arka plan rengi Toolbar , bundan sonra tanımlanacak bir tema rengine ayarlanır:

android:background="?android:attr/colorAccent

BununToolbar, Eylem Çubuğunu Değiştirme bölümünde oluşturulan tarafından kullanılandan Toolbar farklı bir temayı (ThemeOverlay.Material.Dark.ActionBar) temel aldığına dikkat edin; Etkinliğin pencere dekoruna veya ilkinde Toolbarkullanılan temaya bağlı değildir.

Kaynakları/değerleri/styles.xml düzenleyin ve stil tanımına aşağıdaki vurgu rengini ekleyin:

<item name="android:colorAccent">#C7A935</item>

Bu, alt araç çubuğuna koyu sarı renk verir. Uygulamayı derleme ve çalıştırma, ekranın alt kısmında boş bir ikinci araç çubuğu görüntüler:

Ekranın alt kısmında sarı ikinci araç çubuğu bulunan uygulamanın ekran görüntüsü

Düzenle Menü Öğeleri Ekle

Bu bölümde, alta Toolbardüzenleme menüsü öğelerinin nasıl ekleneceği açıklanmaktadır.

İkincil Toolbarbir öğeye menü öğeleri eklemek için:

  1. Uygulama projesinin klasörlerine mipmap- menü simgeleri ekleyin (gerekirse).

  2. Kaynaklar/menü'ye ek bir menü kaynak dosyası ekleyerek menü öğelerinin içeriğini tanımlayın.

  3. Etkinliğin OnCreate yönteminde (çağırarakFindViewById) öğesini bulun Toolbar ve menülerini şişirinToolbar.

  4. Yeni menü öğeleri için içinde OnCreate bir tıklama işleyicisi uygulayın.

Aşağıdaki bölümlerde bu işlem ayrıntılı olarak gösterilmiştir: Kes, Kopyala ve Yapıştır menü öğeleri alta Toolbareklenir.

Menü Kaynağını Düzenle'yi tanımlama

Kaynaklar/menü alt dizininde, edit_menus.xml adlı yeni bir XML dosyası oluşturun ve içeriğini aşağıdaki XML ile değiştirin:

<?xml version="1.0" encoding="utf-8" ?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
  <item
       android:id="@+id/menu_cut"
       android:icon="@mipmap/ic_menu_cut_holo_dark"
       android:showAsAction="ifRoom"
       android:title="Cut" />
  <item
       android:id="@+id/menu_copy"
       android:icon="@mipmap/ic_menu_copy_holo_dark"
       android:showAsAction="ifRoom"
       android:title="Copy" />
  <item
       android:id="@+id/menu_paste"
       android:icon="@mipmap/ic_menu_paste_holo_dark"
       android:showAsAction="ifRoom"
       android:title="Paste" />
</menu>

Bu XML Kes, Kopyala ve Yapıştır menü öğelerini oluşturur (Eylem Çubuğunu Değiştirme bölümünde klasörlere mipmap- eklenen simgeleri kullanarak).

Menüleri Şişirme

MainActivity.cs'da yönteminin sonuna OnCreate aşağıdaki kod satırlarını ekleyin:

var editToolbar = FindViewById<Toolbar>(Resource.Id.edit_toolbar);
editToolbar.Title = "Editing";
editToolbar.InflateMenu (Resource.Menu.edit_menus);
editToolbar.MenuItemClick += (sender, e) => {
    Toast.MakeText(this, "Bottom toolbar tapped: " + e.Item.TitleFormatted, ToastLength.Short).Show();
};

Bu kod Main.axml dosyasında tanımlanan görünümü buluredit_toolbar, başlığını Düzenleme olarak ayarlar ve menü öğelerini şişirir (edit_menus.xml'de tanımlanır). Hangi düzenleme simgesine dokunulduğuna dair bildirim görüntüleyen bir menü tıklama işleyicisi tanımlar.

Uygulamayı derleyin ve çalıştırın. Uygulama çalıştırıldığında, yukarıda eklenen metin ve simgeler burada gösterildiği gibi görünür:

Kes, Kopyala ve Yapıştır simgelerini içeren alt Araç Çubuğu diyagramı

Kes menüsü simgesine dokunulduğunda aşağıdaki bildirim görüntülenir:

Kes menü simgesinin dokunduğunu gösteren Bildirim ekran görüntüsü

Araç çubuğundaki menü öğelerine dokunulduğunda, sonuçta elde edilen bildirimler görüntülenir:

Dokunmakta olan Kaydet, Kopyala ve Yapıştır menü öğelerinin Bildirim ekran görüntüleri

Yukarı Düğmesi

Çoğu Android uygulaması, uygulama gezintisi için Geri düğmesine güvenir; Geri düğmesine basmak kullanıcıyı önceki ekrana götürür. Ancak, kullanıcıların uygulamanın ana ekranına "yukarı" gitmelerini kolaylaştıran bir Yukarı düğmesi de sağlamak isteyebilirsiniz. Kullanıcı Yukarı düğmesini seçtiğinde, kullanıcı uygulama hiyerarşisinde daha yüksek bir düzeye çıkar; yani uygulama, kullanıcıyı daha önce ziyaret edilen Etkinliğe geri dönmek yerine arka yığında birden çok etkinliği geri gönderir.

Eylem çubuğu olarak kullanan ikinci bir etkinlikte Yukarı düğmesini etkinleştirmek için ikinci etkinliğin SetDisplayHomeAsUpEnabled yönteminde ve SetHomeButtonEnabled yöntemlerini çağırınOnCreate:Toolbar

SetActionBar (toolbar);
...
ActionBar.SetDisplayHomeAsUpEnabled (true);
ActionBar.SetHomeButtonEnabled (true);