SORU
18 EKİM 2014, CUMARTESİ


Araç çubuğu ve Bağlam ile ActionBar AppCompat v7

Lolipop ve AppCompat v7 kütüphanede başlanan yeni eklenen Araç kullanmaya çalışıyorum. Takip ettim this guide ayarlama Çubuğu fark ettim o zaman seni çağırmak bir şey getirecek kadar bağlamsal ActionBar (gibi vurgulama metin için Kopyala/yapıştırma), bu olacaktır itme Çubuğunu aşağı sayfa. Sayfanın altındaki ilgili görüntü konuşuyorum görebilirsiniz:

Yani, aslında, bu şekilde ayarladım. Kategori dahil ile kullandığım Araç bir xml dosyasında tanımlanan var:

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@ id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimary"/>

O zaman, benim görüşüme göre, Ben oluşturmak:

<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:orientation="vertical"
    android:id="@ id/root"
    tools:context=".MainActivity">

    <include
        layout="@layout/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/> 

    <!-- Rest of view -->

    </LinearLayout>

Kod, çok hoşuma ayarlayın:

    // On Create method of activity:
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

Herkes Bağlamsal ActionBar Araç overtop geliyor ki bunu yapmak için nasıl biliyor mu?

Toolbar and Contextual ActionBar

CEVAP
19 EKİM 2014, Pazar


Güncelleme:

Çözüm: windowActionModeOverlay özellik. Tema bu Set:

<item name="windowActionModeOverlay">true</item>

ve actionmode aşağıya bastırarak yerine eylem çubuğu üzerinde gösterilecek. Eğer son AppCompat kullanıyorsun yoksa eğer "android:" özelliği için öneki). Ekle Temelde AppCompat bir araç çubuğu ekranın üst kısmında yer alır ve üstüne de ActionMode çizmek gerektiğini bilmesini sağlar.

< / ^ hr .

Eski cevap/çözüm:

Aynı sorunla karşılaştım. Ben ne olursa olsun, her zaman olduğu gibi ActionBar koyduğum Çubuğunu iter. Ve destek kitaplığı olmadan denedim, ama bu önemli değildi.

Ne yazık ki, bunun yerine geçici bir çözüm yaptım bunu düzeltmek için mümkün değildi. **11'onCreateActionMode s eylem çubuğunu gizle: . benim içinde

actionBarToolbar.setVisibility(View.GONE);

onDestroyActionModetekrar göstereyim:

actionBarToolbar.setVisibility(View.VISIBLE);

Gizleme/gösterme benim test cihazlar üzerinde fark edilir değil çok hızlı olur. -Animasyon girin hala çalışmasına rağmen, bağlamsal eylem çıkın-animasyon Araç çubuğu hemen bitti! çünkü kaybolur. elbette bir dezavantajı var: Ama daha iyi bir çözüm rastlayana kadar bu kaldı sanırım.


(Benim Etkinlik aslında kolayca araç Çubuğu getir alabilmem için bir yöntem getActionBarToolbar(), Google I/O 2014 app source code alınan olarak adlandırılan özel BaseActivity sınıf genişletiyor:

BaseActivity activity = (BaseActivity) getActivity();
activity.getActionBarToolbar().setVisibility(View.GONE);

Çok kötü I/O uygulama bağlamsal eylem çubuğunu kullanmaz.)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • arnejann

    arnejann

    3 Kasım 2007
  • Lancome USA

    Lancome USA

    30 HAZİRAN 2009
  • Rockstar Games

    Rockstar Gam

    17 ŞUBAT 2006