2014-11-18 14 views
18

Etkinlikte main_fragment_container öğesinin yerini alan gezici çekmeceyle ilgili bir etkinliğim var. Parçalardan biri görüntülendiğinde, araç çubuğunun düzenini değiştirmek ve ona bir döndürücü eklemek istiyorum (ve parça gizlendiğinde onu kaldırmak).Araç çubuğu düzenini görüntülenen parçaya göre değiştirin

My düzen benziyor:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    xmlns:sothree="http://schemas.android.com/apk/res-auto" 
android:id="@+id/main_parent_view" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:fitsSystemWindows="true"> 

<android.support.v7.widget.Toolbar 

    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    sothree:theme="@style/AppTheme.ActionBar" /> 

<android.support.v4.widget.DrawerLayout 
    android:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <!-- Main layout --> 
    <FrameLayout 
     android:id="@+id/main_fragment_container" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

    <!-- Nav drawer --> 
    <fragment 
     android:id="@+id/fragment_drawer" 
     android:name="com.idob.mysoccer.ui.DrawerFragment" 
     android:layout_width="@dimen/navigation_drawer_width" 
     android:layout_height="match_parent" 
     android:layout_gravity="left|start" /> 
</android.support.v4.widget.DrawerLayout> 

+0

Bu, çekmecenin araç çubuğunun altında açılmasını sağlar. Araç Çubuğunu üst üste getirmek için [Gezinme Çekmecesi Materyal Tasarım'da belirtilmiştir] (http://www.google.com/design/spec/patterns/navigation-drawer.html) (ancak Google Play bunu şu anda yapmamaktadır). – Tapirboy

+0

Bunu amaca yönelik yaptım, tasarımımda çekmece, araç çubuğunun üstündeyken iyi görünmüyor. – Idob

cevap

39

değil başarmak ama mümkünse sen fragmanları sizin araç çubuğunu özelleştirmek izin ziyade değiştirerek bu yaklaşım gerekir, düşünmek için çalışıyoruz ne emin o. İhtiyaçlarınıza göre fragmanlarınızın araç çubuğunda görünümleri gizlemesine/göstermesine izin verebilirsiniz.

parçaları OnCreateView() içinde setHasOptionsMenu(true); ekleyin ve sonra bu gibi onOptionsMenuCreated()

geçersiz:

@Override 
public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    setHasOptionsMenu(true); 
    return inflater.inflate(R.layout.result_list, container, false); 
} 

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
    inflater.inflate(R.menu.this_frag_menu, menu); 
    super.onCreateOptionsMenu(menu, inflater); 
} 

Eğer araç çubuğu ile daha spesifik şeyler yapmak gerekirse

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); kullanarak örneğini alabilirsiniz

+0

İki farklı araç çubuğum var, başlık ile standart araç çubuğu ve başlık yerine çevirmeli araç çubuğu. Sadece parçalarımdan biri görüntülendiğinde spinner ile araç çubuğuna göstermek istiyorum. – Idob

+3

Hala değiştirmeyi değil, araç çubuğunu düzenlemenizi öneririm. Etkin fragmana bağlı olarak başlıklarınızı ve spinleyicileri gizle/göster. – Tapirboy

+0

Bir araç çubuğunun uygulanması iyi çalışıyor! Thanks Lütfen cevabınızı düzenleyin ve cevap olarak işaretleyeceğiz – Idob