2015-11-24 4 views
3

Я хочу создать новую тему для своего приложения (одна тема до < v21 и одна тема >=v21 и выше).Android theme error's

Это код из Activity:

protected void onCreate(Bundle savedInstanceState) { 
     setTheme(R.style.DriverNotesAppTheme); 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_tool_bar_test); 

     toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 
     getSupportActionBar().setDisplayShowTitleEnabled(false); 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
     getSupportActionBar().setHomeButtonEnabled(true); 
} 

панель инструментов XML-макет:

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="?attr/colorPrimary" 
    android:minHeight="?attr/actionBarSize" 
    app:contentInsetEnd="0dp" 
    app:contentInsetStart="0dp" 
    app:popupTheme="@style/DriverNotesAppTheme" 
    app:theme="@style/DriverNotesAppTheme"> 

Это тема, прежде чем v21:

<style name="DriverNotesAppTheme" parent="Theme.AppCompat.NoActionBar"> 
    <!-- customize the color palette --> 
    <item name="colorPrimary">@color/material_bg</item> 
    <item name="colorPrimaryDark">@color/status_bar</item> 
    <item name="colorAccent">@color/edittext_primary</item> 
    <item name="android:windowBackground">@color/light_blue</item> 
</style> 

Это тема для v21 и выше:

<style name="DriverNotesAppTheme" parent="android:Theme.Material"> 
    <!-- customize the color palette --> 
    <item name="colorPrimary">@color/material_bg</item> 
    <item name="colorPrimaryDark">@color/status_bar</item> 
    <item name="colorAccent">@color/edittext_primary</item> 
    <item name="android:windowBackground">@color/light_blue</item> 
</style> 

И это скриншоты: enter image description here v21 и выше;

enter image description here

перед тем v21

И цвета из ресурсов: enter image description here

+1

Вот именно вы получили от вашей темы. Чего вы на самом деле хотите достичь? – johnrao07

+0

@ johnrao07 цвета, такие как http://i.stack.imgur.com/6cluO.jpg – Artem

+0

@ johnrao07 для строки состояния и панели инструментов – Artem

ответ

2

Код Исправленная

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_tool_bar_test); 

    toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setDisplayShowTitleEnabled(false); 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
    getSupportActionBar().setHomeButtonEnabled(true); 

}

установить тему в вашем ToolBar

<android.support.v7.widget.Toolbar 
android:id="@+id/toolbar" 
android:layout_width="match_parent" 
android:layout_height="?attr/actionBarSize" 
android:background="?attr/colorPrimary" 
android:minHeight="?attr/actionBarSize" 
app:contentInsetEnd="0dp" 
app:contentInsetStart="0dp" 
app:popupTheme="@style/<Your Theme Name>" 
app:theme="@style/<Your Theme Name>"/> 
+0

спасибо, но как я могу использовать этот образец для обеих тем? – Artem

+1

у вас есть две папки> v21 и johnrao07

+0

У меня есть Shut Down VM на Android 5 ( – Artem