2017-06-18 27 views
0

我剛開始學習android。爲了開發與Android棒棒糖(API 21)兼容的版本以及android棒棒糖設備(API15),我定義了兩種不同的樣式。第一種風格支持ActionBar,另一種風格擴展了API21及更高版本所需的屬性.NoActionBar。我認爲我可能會誤解與工具欄和操作欄的appbar。隱藏工具欄(在AppBarLayout裏面)中的一個特定片段

另外,我在我的主要活動中使用了兩個片段。我想知道是否有工具欄(這是在XML文件中的AppBarLayout內)被隱藏在特定片段中並顯示在其他片段中的方式。

的AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example"> 
    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme"> 
     ... 
     ... 
    </application> 
</manifest> 

app_bar_main.xml

<android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:popupTheme="@style/AppTheme.PopupOverlay"> 
      <com.example.MyTextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:textSize="22sp" 
       android:layout_gravity="center" 
       android:text="@string/app_name"/> 
     </android.support.v7.widget.Toolbar> 

</android.support.design.widget.AppBarLayout> 

styles.xml

<resources> 
    <!-- Base application theme. --> 
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <!-- Customize your theme here. --> 
     <item name="colorPrimary">@color/colorPrimary</item> 
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="colorAccent">@color/colorAccent</item> 
     <item name="windowNoTitle">true</item> 
    </style> 
    <style name="AppTheme.NoActionBar"> 
     <item name="windowActionBar">false</item> 
     <item name="windowNoTitle">true</item> 
    </style> 

    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> 

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> 

</resources> 

styles.xml (V21)

<resources> 
    <style name="AppTheme.NoActionBar"> 
     <item name="windowActionBar">false</item> 
     <item name="windowNoTitle">true</item> 
     <item name="android:windowDrawsSystemBarBackgrounds">true</item> 
     <item name="android:statusBarColor">@android:color/transparent</item> 
    </style> 
</resources> 

回答

0

第一樣式支持動作條,而另一個延伸這是需要API21和上述屬性.NoActionBar。

不再推薦使用ActionBar,因此您可以隨處使用Toolbar。使您的活動延伸AppCompatActivity並將您的工具欄設置爲操作欄使用setSupportActionBar (Toolbar toolbar)

+0

但是對於預棒棒糖設備,是否支持工具欄? –

+0

@inverted_index讓你的活動延伸到支持庫中包含的AppCompatActivity,然後你可以在任何地方使用工具欄 – Darish

+0

你的意思是我可以從styles.xml中移除'ActionBar'嗎? –

相關問題