2016-02-18 16 views
10

android.support.v7.widget.Toolbar taşma menüsünde SwitchCompat widget'ını kullanmaya çalışıyorum ama çalışmaz hale gelemiyorum, her zaman boş görünüyor. İşte android.support.v7.widget.Toolbar'ın taşma menüsünde bir actionLayout kullanabilir miyim?

benim menü tanımı şöyledir: Burada

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     xmlns:tools="http://schemas.android.com/tools" 
     tools:context="com.oveflowtest.ScrollingActivity"> 
    <item 
     android:id="@+id/action_settings" 
     android:orderInCategory="100" 
     android:title="@string/action_settings" 
     app:showAsAction="never"/> 
    <item android:id="@+id/test" 
      app:actionLayout="@layout/testlayout" 
      app:showAsAction="never"/> 
</menu> 

Ve testlayout geçerli: Ayrıca

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:orientation="vertical" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent"> 
<android.support.v7.widget.SwitchCompat 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" android:text="test"/> 
</LinearLayout> 

Ben showAsAction yerine never ait always geçtiğinizdeyse o zaman araç çubuğu ama I don üzerinde gayet güzel gösteriyor Orada istemiyorum, 3 noktaya bastığımda açılan taşma menüsünde istiyorum.

Bir onay işareti kullanma seçeneği olduğunu biliyorum ancak takip ettiğim tasarım bir anahtar gerektiriyor.

Teşekkürler.

cevap

11

Bu mümkün değil.

Bu, actionLayout öğesinin yalnızca öğe eylem olarak gösterildiğinde kullanılmasından kaynaklanır. Bu documentation itibaren setActionView eşdeğer olduğunu ve:

bu menü öğesi için bir eylem görünüm ayarlayın. Bu öğe bir ebeveynin içinde bir eylem olarak gösterildiğinde, UI'de otomatik olarak oluşturulmuş bir menü öğesi öğesi yerine bir eylem görünümü görüntülenecektir. o bir eylem olarak kullanılır eğer (beklendiği gibi showAsAction, o zaman eylem olarak gösterilmediğinden, never ise)

Yani, özel bir görünüm şişirmek olabilir. documentation for ActionProvider yılında, başka bir yere gizlenmiş Şimdi

, bu var: menü öğesi (bir taşma menüsünde örn) Özel eylem görüşlerini izin vermeyen bir şekilde, içinde ActionProvider sunulmuştur

varsayılan eylemi gerçekleştirebilir.

Açıkça bu taşma menüsünü olamaz ekran özel görünüm dile getirilmiştir.

[Düzenleme: olası geçici çözüm]
Eğer gerçekten bu şekilde görüntülemek isterseniz şunları yapabilirsiniz sahte bir taşma PopupWindow ile menü, ama o zaman bazı cihazlarda platforma veya sonra bile tutarlılık kaybedebilir Android'e bir yükseltme (diyelim ki… taşma menüsünü simüle etmek için üç yuvarlak nokta kullandınız, ancak daha sonra Android'de karelere dönüştüler, uygulamanız tuhaf görünecek. Ayrıca bir Menu ile çalışırken bunu yapmak için ekstra çaba var.

İlgili konular