CoordinatorLayout

时间:2018-02-08 13:55:13

标签: android android-toolbar

我正在使用支持v7工具栏小部件,通常它可以正常工作。在调用setSupportActionBar(工具栏)之前,工具栏看起来很棒,就像第二张图片一样。但是在setSupportActionBar之后工具栏的高度发生了变化,它成了第一张图片。

我在搜索引擎中找不到合适的解决方案,而且我不知道如何在没有图片的搜索引擎中解释这个问题。

请查看截图:

Innormal Toolbar(First Picture)

Normal Toolbar(Second Picture)

除了刚刚提到的2个案例,我想让layout_main看起来像这张图片,但我不知道如何将我的代码从picture1转换为: The toolbar that I want to use

这是我的代码:

  • 样式(V21).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>
    
        <item name="android:windowDrawsSystemBarBackgrounds">true</item>
        <item name="android:windowTranslucentStatus">false</item>
        <item name="android:windowTranslucentNavigation">true</item>
        <item name="android:statusBarColor">@android:color/transparent</item>
    </style>
    

  • Style.xml

    <!-- Base application theme. -->
    <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>
    

  • layout_main.xml

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v7.widget.Toolbar
        android:id="@+id/main_toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/holo_blue_dark"
        android:fitsSystemWindows="true"
        app:title="Test"/>

</android.support.design.widget.CoordinatorLayout>
  • MainActivity.java

    package com.mxdlzg.test;
    
    import android.graphics.Color;
    import android.os.Build;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    
    import android.support.v7.app.AppCompatDelegate;
    
    import android.support.v7.widget.Toolbar;
    
    import com.aurelhubert.ahbottomnavigation.AHBottomNavigation;
    import com.aurelhubert.ahbottomnavigation.AHBottomNavigationItem;
    
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    
    public class MainActivity extends AppCompatActivity {
        private Toolbar toolbar;
        private AHBottomNavigation bottomNavigation;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            //toolbar
            toolbar = (Toolbar) findViewById(R.id.main_toolbar);
            setSupportActionBar(toolbar);
        }
    
    }
    

1 个答案:

答案 0 :(得分:0)

将此设置放在style.xml

<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:windowTranslucentStatus">false</item>
<item name="android:windowTranslucentNavigation">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>

而不是v21/style.xml

谢谢。