2017-04-27 80 views
1

style.xml無法在主要活動顯示操作欄

在這裏,我故意禁止行動起來吧,因爲我不希望它出現我的啓動畫面上

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
      <!-- Customize your theme here. --> 
      <item name="colorPrimary">@color/colorPrimary</item> 
      <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
      <item name="colorAccent">@color/colorAccent</item> 
     </style> 

MainActivity.java

後我想通過使用set supportactionbar在主要活動中存在操作欄,但在運行代碼後操作欄不起作用,並且整個過程沒有錯誤,有人能告訴我我的代碼出了什麼問題。

Toolbar tb; 
tb = (Toolbar) findViewById(R.id.toolbar); 
setSupportActionBar(tb); 

回答

0

您有兩種選擇。

1:在XML中手動添加工具欄。示例:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    android:orientation="vertical"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:minHeight="?attr/actionBarSize" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:titleTextColor="@android:color/white" 
     android:background="?attr/colorPrimary"> 
    </android.support.v7.widget.Toolbar> 

</LinearLayout> 

有關更多工具欄信息,請參見https://guides.codepath.com/android/Using-the-App-Toolbar

OR

2:閃屏創建一個新的主題,並設置它在你的清單。例如:

<activity 
     android:name=".view.activity.SplashActivity" 
     android:theme="@style/Splash"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 
      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity> 

然後在你的應用程序的styles.xml:

<style name="Splash" parent="Theme.AppCompat.NoActionBar"> 
    <item name="android:windowFullscreen">true</item> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="android:windowBackground">@drawable/splash_screen</item> 
</style> 

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
</style> 

無論是其中的一個都很好,雖然我個人始終保持一個單獨的樣式給我閃屏只是爲了保持清潔,簡單。

相關問題