2016-07-19 137 views
2

我的代码未显示Kitkat上的工具栏。
这是我的Android版本的ScreenShot。我的工具栏在API级别21(Kitkat)上未显示,但显示为API级别21

奇巧版本:

Kikat

棒棒糖版本:

Lollipop

什么可能是背后的原因。

清单文件

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.global.market"> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/image_front" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 

     <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" 
      android:theme="@style/AppTheme.NoActionBar"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".detailactivity" 
      android:label="@string/app_name" /> 
     <activity 
      android:name="com.google.android.gms.ads.AdActivity" 
      android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/> 

     <meta-data android:name="com.google.android.gms.version" android:value="6111000" /> 
    </application> 

</manifest> 

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="windowActionBarOverlay">false</item> 
    <item name="windowNoTitle">true</item> 
    <item name="windowActionBar">false</item> 
</style> 

<style name="AppTheme.NoActionBar"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <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" /> 

activity_main.xml中

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:ads="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:openDrawer="start"> 


    <include 
     layout="@layout/app_bar_main" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 


    <android.support.design.widget.NavigationView 
     android:id="@+id/nav_view" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:fitsSystemWindows="true" 
     app:headerLayout="@layout/nav_header_main" 
     android:clickable="true"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical"> 

    <ExpandableListView 
     android:id="@+id/exp_list" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_marginTop="160dp" 
     android:indicatorRight="?android:attr/expandableListPreferredItemIndicatorRight" 
     android:background="@android:color/white" 
     android:footerDividersEnabled="true" 
     android:groupIndicator="@null"> 
    </ExpandableListView> 

      <!--<ListView--> 
       <!--android:background="@android:color/white"--> 
       <!--android:id="@+id/menuList"--> 
       <!--android:layout_width="match_parent"--> 
       <!--android:layout_height="match_parent"--> 
       <!--android:layout_marginTop="10dp" />--> 
     </LinearLayout> 
    </android.support.design.widget.NavigationView> 

</android.support.v4.widget.DrawerLayout> 

MainActivity.java

 @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 

       setContentView(R.layout.activity_main); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
       if (toolbar != null) { 
        toolbar = (Toolbar) findViewById(R.id.toolbar); 
        setSupportActionBar(toolbar); 
        getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
       } 
} 

的build.gradle文件

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.3" 

    ext { 
     supportLibVersion = '23.4.0' // variable that can be referenced to keep support libs consistent 
    } 

    defaultConfig { 
     applicationId "com.global.market" 
     minSdkVersion 14 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 

    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.4.0' 
    compile 'com.android.support:design:23.4.0' 
    compile 'com.loopj.android:android-async-http:1.4.9' 
    compile 'com.android.support:cardview-v7:23.0.+' 
    compile 'com.android.support:recyclerview-v7:23.0.+' 
    compile 'com.google.code.gson:gson:2.6.2' 
    compile 'com.squareup.retrofit2:retrofit:2.1.0' 
    compile 'com.squareup.retrofit2:converter-gson:2.1.0' 
    compile 'com.github.gabrielemariotti.cards:cardslib-core:2.1.0' 
    compile 'com.github.gabrielemariotti.cards:cardslib-cards:2.1.0' 
    compile 'com.github.PhilJay:MPAndroidChart:v2.2.4' 
    compile files('libs/GoogleAdMobAdsSdk-6.4.1.jar') 
    compile 'com.google.android.gms:play-services:6.1.11' 



} 

回答

6

AppBar默认有抬高其棒棒糖后的作品。因此,尽管布局层次结构始终可见。但在较低版本(低于棒棒糖)下,工具栏可能会在某些其他布局下绘制。

因此,重新排列布局项目以使工具栏可见。

+0

@Riyas Ahamed..Then,我应该把我的工具栏布局? –

+0

发布app_bar_main布局代码 –

+0

稍等片刻..我会在一分钟内将编辑后的代码发送给您。不要考虑上面的代码。有一些缺失 –

0

更改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> 

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

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

MainActivity.java你initiliaze两个时间ToolBar所以删除第二行此

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

你不需要它。

+0

@铁人三项 - 我已经做出了改变,但仍未奏效。 –

+0

@samarthkejriwal在'styles.xml'中有两个文件,例如'styles.xml'和'styles.xml(v21)'。你可以发布这两个文件吗? – Ironman

+0

styles.xml(V21) '> <样式名称= “AppTheme.ActionBar”> <项名称= “windowActionBar”>假 <项目名称= “windowNoTitle”>真 <项目名称= “机器人:windowDrawsSystemBarBackgrounds”>真 <项目名称= “机器人:statusBarColor”> @安卓:彩色/透明 ' –

0

试试这个

更新style.xml

<resources> 

    <style name="AppTheme" parent="AppTheme.Base"> 

    </style> 

    <style name = "AppTheme.Base" parent="Theme.AppCompat.NoActionBar"> 
     <item name="colorPrimary">@color/colorPrimary</item> 
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="colorAccent">@color/colorAccent</item> 
     <item name="windowActionBar">false</item> 
     <item name="windowNoTitle">true</item> 
    </style> 

</resource> 

并更新在AndroidManifest.xml活动主题文件

<activity 
    android:name=".MainActivity" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 

     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 
相关问题