12

Artık setNavigationMode() ... gibi ActionBar sınıfındaki gezinme modlarıyla ilgili tüm yöntemler kullanımdan kaldırılmıştır.Araç Çubuğunda NAVIGATION_MODE_LIST ayarı new appcompat v7 21

belgeleri açıklıyor:

benim şimdiki uygulamada
Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead. 

, İşlem Çubuğu üzerinde dönen bir yoktur. Yeni sürüm Appcompat v7 21.
Yeni araç çubuğuna NAVIGATION_MODE_LIST nasıl uygulanır? Teşekkür peşin.

cevap

17

API 21 ile setNavigationMode(ActionBar.NAVIGATION_MODE_LIST) yöntemi deprecated'dur.

bir döndürücü ile çalışmak için en iyi yolu böyle bir araç çubuğu kullanmaktır: Her zamanki Gabriele olarak Google IO 2014

+0

teşekkürler ben kullanın o –

+1

Eğer Toolbar o yok –

+1

tarihinde NAVIGATION_MODE_TAB ayarlamak için bir çözüm söyleyebilir misiniz çalışacağım SlidingTabsBasic Burada sağlanan: http://developer.android. com/samples/SlidingTabsBasic/index.html –

5

bir örnek bulabilirsiniz

<android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar_actionbar" 
     android:layout_height="?attr/actionBarSize" 
     android:layout_width="match_parent" 
     android:background="?attr/colorPrimary"> 

    <Spinner 
      android:id="@+id/spinner_toolbar" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 

</android.support.v7.widget.Toolbar> 

haklı, böylece kod bakacağız böyle:

Yani böyle bir şeyden gibi görünecektir:

private ActionBar actionBar; 
    private Toolbar toolbar; 
    private Spinner spinner; 
    private List<String> mNavigationItems; 
    private ArrayAdapter<CharSequence> mArrayAdapter; 
    /*** 
    * Boolean to know which version is running 
    */ 
    private boolean postICS,postLollipop; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_nav_list);//find the toolbar 
     toolbar = (Toolbar) findViewById(R.id.toolbar); 
     postLollipop =getResources().getBoolean(R.bool.postLollipop); 
     if(postLollipop){ 
      toolbar.setElevation(15); 
     } 
     //define the toolbar as the ActionBar 
     setSupportActionBar(toolbar); 
     actionBar=getSupportActionBar(); 
     //now manage the spinner 
     mNavigationItems=new ArrayList<String>(); 
     mNavigationItems.add("navigation 1"); 
     mNavigationItems.add("nav 2"); 
     mNavigationItems.add("navigation 3"); 
     spinner= (Spinner) findViewById(R.id.action_bar_spinner); 
     mArrayAdapter = new ArrayAdapter(this, R.layout.actionbar_spinner_dropdown_item, mNavigationItems); 
     mArrayAdapter.setDropDownViewResource(R.layout.actionbar_spinner_dropdown_item); 
     spinner.setAdapter(mArrayAdapter); 
    } 

Ve spinnerAdapter kullanmamaya dikkat edin (çünkü stilini AppTheme kullanarak yönetemeyebilirsiniz). Eğer şimdi Tasarım kütüphanesini kullanmalıdır Sekme (NavigationMode.Tabs) kullanmak istiyorsanız

Ve (burada açıkladı: http://android-developers.blogspot.fr/2015/05/android-design-support-library.html?m=1)and kopyalayıp yapıştırmak sekmelerin aracılığıyla uygulamanıza farklı görünümleri arasında geçiş yapma

Sekmeler ise "altında onlar bir üst düzey navigasyon deseni olarak evde ya da (diyelim müziğin farklı türlerini) uygulamanız içindeki farklı içerik gruplaşmalar düzenlemek için eşit ve nesne tasarımına değil yeni bir kavram.

Tasarım kütüphanenin TabLayout uygu görünümünün genişliğinin görünümünün genişliğinin tüm sekmelerin yanı sıra kaydırılabilir sekmelerin yanı sıra sekmelerin tek biçimli olmadığı ve yatay olarak kaydırılabildiği sabit sekmeler de vardır. Sekmeler program aracılığıyla eklenebilir:

TabLayout tabLayout = ...; tabLayout.addTab (tabLayout.newTab(). SetText ("Sekme 1")); Ancak, , sekmeler arasında yatay sayfalama için bir ViewPager kullanıyorsa, doğrudan PagerAdapter'ın getPageTitle() öğesinden sekme oluşturabilir ve daha sonra , ikisi birlikte setupWithViewPager() kullanarak bağlayabilirsiniz. Bu, sekme seçim olaylarının ViewPager'ı güncellemesini ve sayfa değişikliklerinin seçilen sekmeyi güncellemesini sağlar. ..?

"

+1

R.layout.actionbar_spinner_dropdown_item yerine R.layout.support_simple_spinner_dropdown_item kullanmak zorunda kaldım, aksi takdirde benim için çalıştı. – Mick