【问题标题】:Android Studio - White Bar Across TopAndroid Studio - 顶部的白条
【发布时间】:2016-03-18 23:14:20
【问题描述】:

所以我刚刚构建了一个应用程序,但顶部是一个白条。我相信它是 ActionBar,但每次更改颜色的尝试都不起作用。关于如何删除它或改变它的颜色的任何想法?谢谢

Activity.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <WebView
        android:id="@+id/activity_main_webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

    <ProgressBar
        android:layout_centerHorizontal="true"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_centerVertical="true"
        android:layout_centerInParent="true"
        android:id="@+id/progressBar1"
        style="@android:style/Widget.ProgressBar.Small.Inverse" />

    <TextView
        android:layout_centerHorizontal="true"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_centerVertical="true"
        android:layout_centerInParent="true"
        android:id="@+id/LoadingText"
        android:layout_below="@+id/progressBar1"
        android:text="@string/loading_txt"
        android:textSize="20sp"/>

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="16dp"
        android:clickable="true"
        android:src="@android:drawable/ic_menu_edit"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        app:fabSize="normal"
        app:layout_anchorGravity="bottom|right|end"
        app:backgroundTint="#243313"
        app:rippleColor="#FFF" />

</RelativeLayout>

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>
    </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" />


</resources>

styles.xml(v21)

<resources>>

    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="android:windowDrawsSystemBarBackgrounds">true</item>
        <item name="android:statusBarColor">@android:color/transparent</item>
    </style>
</resources>

LogCat:

03-18 20:16:20.495 17416-17416/org.communionchapelefca.ccsatx E/AndroidRuntime: FATAL EXCEPTION: main
                                                                                Process: org.communionchapelefca.ccsatx, PID: 17416
                                                                                java.lang.RuntimeException: Unable to start activity ComponentInfo{org.communionchapelefca.ccsatx/org.communionchapel.ccsatx.MainActivity}: android.view.InflateException: Binary XML file line #33: Binary XML file line #33: Error inflating class android.support.design.widget.FloatingActionButton
                                                                                    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
                                                                                    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
                                                                                    at android.app.ActivityThread.-wrap11(ActivityThread.java)
                                                                                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
                                                                                    at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                    at android.os.Looper.loop(Looper.java:148)
                                                                                    at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                                    at java.lang.reflect.Method.invoke(Native Method)
                                                                                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
                                                                                 Caused by: android.view.InflateException: Binary XML file line #33: Binary XML file line #33: Error inflating class android.support.design.widget.FloatingActionButton
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
                                                                                    at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:393)
                                                                                    at android.app.Activity.setContentView(Activity.java:2172)
                                                                                    at org.communionchapel.ccsatx.MainActivity.onCreate(MainActivity.java:48)
                                                                                    at android.app.Activity.performCreate(Activity.java:6251)
                                                                                    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
                                                                                    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
                                                                                    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                                                                                    at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                                                                                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                                                                                    at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                    at android.os.Looper.loop(Looper.java:148) 
                                                                                    at android.app.ActivityThread.main(ActivityThread.java:5417) 
                                                                                    at java.lang.reflect.Method.invoke(Native Method) 
                                                                                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
                                                                                 Caused by: android.view.InflateException: Binary XML file line #33: Error inflating class android.support.design.widget.FloatingActionButton
                                                                                    at android.view.LayoutInflater.createView(LayoutInflater.java:645)
                                                                                    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764)
                                                                                    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
                                                                                    at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)
                                                                                    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
                                                                                    at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:393) 
                                                                                    at android.app.Activity.setContentView(Activity.java:2172) 
                                                                                    at org.communionchapel.ccsatx.MainActivity.onCreate(MainActivity.java:48) 
                                                                                    at android.app.Activity.performCreate(Activity.java:6251) 
                                                                                    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 
                                                                                    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 
                                                                                    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                                                                                    at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                                                                                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                                                                                    at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                    at android.os.Looper.loop(Looper.java:148) 
                                                                                    at android.app.ActivityThread.main(ActivityThread.java:5417) 
                                                                                    at java.lang.reflect.Method.invoke(Native Method) 
                                                                                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
                                                                                 Caused by: java.lang.reflect.InvocationTargetException
                                                                                    at java.lang.reflect.Constructor.newInstance(Native Method)
                                                                                    at android.view.LayoutInflater.createView(LayoutInflater.java:619)
                                                                                    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764) 
                                                                                    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
                                                                                    at android.view.LayoutInflater.rInflate(LayoutInflater.java:835) 
                                                                                    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
                                                                                    at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:393) 
                                                                                    at android.app.Activity.setContentView(Activity.java:2172) 
                                                                                    at org.communionchapel.ccsatx.MainActivity.onCreate(MainActivity.java:48) 
                                                                                    at android.app.Activity.performCreate(Activity.java:6251) 
                                                                                    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 
                                                                                    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 
                                                                                    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                                                                                    at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                                                                                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                                                                                    at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                    at android.os.Looper.loop(Looper.java:148) 
                                                                                    at android.app.ActivityThread.main(ActivityThread.java:5417) 
                                                                                    at java.lang.reflect.Method.invoke(Native Method) 
                                                                                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
                                                                                 Caused by: java.lang.IllegalArgumentException: You need to use a Theme.AppCompat theme (or descendant) with the design library.
                                                                                    at android.support.design.widget.ThemeUtils.checkAppCompatTheme(ThemeUtils.java:34)
                                                                                    at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:110)
                                                                                    at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:104)
                                                                                    at java.lang.reflect.Constructor.newInstance(Native Method) 
                                                                                    at android.view.LayoutInflater.createView(LayoutInflater.java:619) 
                                                                                    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764) 
                                                                                    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
                                                                                    at android.view.LayoutInflater.rInflate(LayoutInflater.java:835) 
                                                                                    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
                                                                                    at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:393) 
                                                                                    at android.app.Activity.setContentView(Activity.java:2172) 
                                                                                    at org.communionchapel.ccsatx.MainActivity.onCreate(MainActivity.java:48) 
                                                                                    at android.app.Activity.performCreate(Activity.java:6251) 
                                                                                    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 
                                                                                    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 
                                                                                    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                                                                                    at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                                                                                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                                                                                    at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                    at android.os.Looper.loop(Looper.java:148) 
                                                                                    at android.app.ActivityThread.main(ActivityThread.java:5417) 
                                                                                    at java.lang.reflect.Method.invoke(Native Method) 
                                                                                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

【问题讨论】:

  • 在活动或片段上? @格雷格·威廉姆斯
  • 没关系,我只是看到了它的一项活动。继续您的清单并在主要活动下定义应用程序主题。应该是这样的。 android:theme="@style/NoActionBar"
  • 这不起作用,它仍然显示顶部的白条
  • 我知道您尝试过我发布的答案但没有用吗?
  • @Salvatory Baya 添加了 LogCat 输出,我假设它是一个 ActionBar;如何确认它是 ActionBar 还是 StatusBar?

标签: android xml webview android-actionbar


【解决方案1】:

问题出在您的样式 v-21 文件中

<resources>
<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
</style>
</resources>

改变这一行

<item name="android:statusBarColor">@android:color/transparent</item>

将 '@android:color/transparent' 更改为其他颜色

【讨论】:

  • 没有用,它使应用程序崩溃。我尝试了'@android:color/primary_text_dark`和@android:color/background_dark
  • 您可以通过单击答案旁边的“打勾”将我的答案标记为“已接受”:) 很高兴我能帮助您。另一件事-您用于状态栏的任何颜色都可能不会在旧版本的 android 中使用,因此请在 api 上测试您的应用
  • 我将颜色配置为:@color/colorPrimaryDark,它的外观与具有 nav_draw 模型的主要活动相同。
猜你喜欢
  • 2020-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多