30/09/2018, 22:15

Lỗi toolbar android

Xin chào, mình muốn toolbar có dạng này:

Từ lúc đầu như này:

Nên đã dùng đoạn code này trong file style.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>
    </style>

    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

    <!-- Main activity theme. -->
    <style name="ForecastTheme" parent="AppTheme">
        <item name="actionBarStyle">@style/ActionBar.Solid.Sunshine.NoTitle</item>
    </style>

    <!-- main activity action bar styles -->
    <style name="ActionBar.Solid.Sunshine.NoTitle" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
        <item name="displayOptions">useLogo|showHome</item>
        <item name="logo">@drawable/ic_logo</item>
    </style>

    <style name="ForecastListStyle">
        <!-- Here it's a stub.  In screens of sufficient width, this style includes modifications
        for two-pane layout -->
    </style>

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

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

</resources>

Và đây là file MainActivity.java, mình đã khai báo một toolbar khác nên sinh ra lỗi:

java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.

Và đây là file MainActivity.java:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

Mình áp dụng theme này bằng cách khai báo:

<activity
            android:name=".MainActivity"
            android:configChanges="orientation|screenSize|keyboardHidden"
            android:label="@string/app_name"
            android:theme="@style/ForecastTheme">

Trong file AndroidManifest

Mình đã sử một số cách, nhưng nếu không lỗi thì toolbar sẽ không đổi giao diện, mà đổi được thì lỗi này nọ…
Ai có thể giúp với, mình cảm ơn!

Thanh V Iet viết 00:16 ngày 01/10/2018

This post was flagged by the community and is temporarily hidden.

Le Dinh Nhat Khanh viết 00:22 ngày 01/10/2018

Mình đã thay như bạn:

<!-- Main activity theme. -->
    <style name="ForecastTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="actionBarStyle">@style/ActionBar.Solid.Sunshine.NoTitle</item>
    </style>

Và đây là kết quả:


Tóm lại: Vẫn ko được

Thanh V Iet viết 00:28 ngày 01/10/2018

This post was flagged by the community and is temporarily hidden.

Le Dinh Nhat Khanh viết 00:29 ngày 01/10/2018

Min là 16 và target là 24, emulator mình debug là 23

Thanh V Iet viết 00:25 ngày 01/10/2018

This post was flagged by the community and is temporarily hidden.

Bài liên quan
0