2014-11-12 2 views
1

Я использую панель инструментов Appcomp в Layer Layout внутри FragmentActivity. Внутри каждого фрагмента необходимо изменить название на основе активности. Есть ли способ установить заголовок из манифеста вместо того, чтобы устанавливать в каждом действии onCreate toolbar.setTitle ("ABC").Android appcompact Название панели инструментов из манифеста

Примечание: Im не используя getSupportActionBar (панель инструментов)

FirstActivity расширяет BaseActivity

Themes.xml

<style name="AppTheme.Base" parent="Theme.AppCompat.Light"> 
    <item name="colorPrimary">@color/primary</item> 
    <item name="colorPrimaryDark">@color/primaryDarker</item> 
    <item name="android:windowNoTitle">true</item> 
    <item name="windowActionBar">false</item> 
    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item> 
</style> 

<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle"> 
    <item name="spinBars">true</item> 
    <item name="color">@android:color/white</item> 
</style> 

<color name="primary">#457C50</color> 
<color name="primaryDarker">#580C0C</color> 

Android Manifest

<activity 
    android:name="com.sample.md.FirstActivity" 
    android:configChanges="orientation|screenSize|keyboardHidden" 
    android:label="First Activity" >    
</activity> 

Панель инициализации в базовой деятельности

android.support.v7.widget.Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
android.support.v7.app.ActionBarDrawerToggle mDrawerToggle = 
    new ActionBarDrawerToggle(this, mDrawerLayout, toolbar, R.string.drawer_open, R.string.drawer_close) { 

     @Override 
     public void onDrawerClosed(View view) { 
      super.onDrawerClosed(view); 
      try { 
       toolbar.setTitle(mTitle); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
      invalidateOptionsMenu(); 
      syncState(); 
     } 

     @Override 
     public void onDrawerOpened(View drawerView) { 
      super.onDrawerOpened(drawerView); 
      toolbar.setTitle("Menu"); 
      invalidateOptionsMenu(); 
      syncState(); 
     } 

}; 

mDrawerToggle.setDrawerIndicatorEnabled(true); 
mDrawerLayout.setDrawerListener(mDrawerToggle); 
mDrawerToggle.syncState(); 

ответ

1

Вы должны быть в состоянии установить атрибут label.

+0

Оно не решает проблему – User0802

+0

работать ли это, если вы 'SETTITLE()'? Если нет, то ваша тема приложения может быть скрыта. – ipavl

+0

Да, его работа, если задано название через setTitle в каждом фрагментеAcitivity onCreate. – User0802

1

Установите атрибут этикетки, как это:

<activity 
     android:label="My Screen" 
     ... > 
+0

Я уже пробовал, он не решает проблему – User0802

+0

извините, произошла ошибка. Исправлено. – qazimusab

+0

это тоже не решило проблему – User0802

Смежные вопросы