2014-12-17 10 views
16

Araç Çubuğunu ActionBar yerine kullanmaya çalışıyorum, ancak önceki düğüme dönmek için yukarı düğmeyi nasıl ekleyeceğimi bilemiyorum. Onunla ilgili herhangi bir yöntem bulamadım.Araç Çubuğu - yukarı düğmesini ekleyin

Nasıl açma düğmesine eklerim?

cevap

23

setSupportActionBar(toolbar); çağrıda olarak, düşünmek böyle bir şeydir çalışması gerekir:

Toolbar toolbar = (Toolbar) findViewById(R.id.app_bar_detail); 
setSupportActionBar(toolbar); 
getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

Ya Fragment kullanılması halinde

:

Toolbar toolbar = (Toolbar) view.findViewById(R.id.app_bar_detail); 
((ActionBarActivity) getActivity()).setSupportActionBar(toolbar); 
((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

Bu araç çubuğu içinde senin Eylem Çubuğu görünür, ama her şey birbirine biz uyacaktır merak etmeyin ll. Eylem çubuğunuzun veya herhangi bir arka planınızın altında herhangi bir gölge istemiyorsanız yapmanız gereken son şey temanızı vaules/styles.xml olarak değiştirmektir.

<style name="AppThmeme.Base" parent="Theme.AppCompat.NoActionBar"> 
1

getSupportActionBar().setHomeButtonEnabled(true); çağrılması hala sürece zaten ben aradığınız ne olduğunu tahmin

0

Araç çubuğunda kendi 'yukarı' düğmelerinizi ekleyebilirsiniz, sonuçta sadece bir ViewGroup.

Sen toolbar.xml size, istediğiniz kadar araç çubuğunu özelleştirmek, ya da düzeninde android.support.v7.widget.Toolbar tanımladığınız her yerde aşağıda verilen sınırlamasına uyan düğmesi 'yukarı' ekleyebilirsiniz

:

Şimdi
<android.support.v7.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/toolbar" 
    android:minHeight="?attr/actionBarSize" 
    android:layout_height="?attr/actionBarSize" 
    android:background="@drawable/color_toolbar" 
    android:layout_width="match_parent"> 

    <ImageButton 
     android:id="@+id/upButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:onClick="uphandler" 
     android:src="@drawable/backbutton" 
     android:layout_gravity="end"/> 

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

, bu kadar düğme dinlemek için aktivitesinde işlevini uphandler tanımlayın: ... XML bunu yapmak istiyorsanız

public void uphandler(View v){ 
     this.finish(); // This will kill current activity, and if previous activity is still opened in background, it will come in front. 
} 
+0

"yukarı" simgesi uygulaması içinde hiyerarşik ebeveyne kullanıcıyı almalı, çünkü bir anti-kalıptır) (this.finish kullanma - onlar gördüğünü mutlaka son ekran: https://material.google.com /patterns/navigation.html#navigation-up-back-buttons – gsysko

3

kullanabileceğiniz

<android.support.v7.widget.Toolbar 
      app:navigationIcon="?homeAsUpIndicator" 
      ...