[OFFEN] Titel-Bar Farbe anpassen

T

tefracky

App-Anbieter (kostenlos)
184
Hallo,

ich habe eine einfache WebView App als Fullscreen. Leider ist die Titel-Bar schwarz, was nicht sonderlich schön aussieht. Wie kann ich denn da die Farbe ändern? Auf die Einstellungen zum Material-Design würde ich gerne verzichten, da ich möglichst viele Geräte erreichen möchte.
Folgender Code beim "onCreate()" führt leider zum sofortigen Absturz der App:

Code:
ActionBar actionBar = getActionBar();
actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#FF023d5c")));

Hier noch die Styles und das Manifest:

Code:
<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="android:Theme.NoTitleBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/tsgwieseckmittel</item>
        <item name="colorPrimaryDark">@color/tsgwieseckdunkel</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

</resources>

Code:
<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/Theme.AppCompat.NoActionBar"
    >
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

Die verwendeten Farben sind bereits unter "colors" definiert:

Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>
    <color name="tsgwieseckhell">#FF0090d7</color>
    <color name="tsgwieseckmittel">#FF0070d7</color>
    <color name="tsgwieseckdunkel">#FF023d5c</color>
</resources>

Für jegliche Hilfe wäre ich sehr dankbar.
 
Hallo tef,

Folgender Code beim "onCreate()" führt leider zum sofortigen Absturz der App:

Auch hier - wie bereits beim letzen Male erwähnt - wirst du OHNE Errorlog wenig Hilfe
erwarten können.
Bitte schick den direkt mit -Es ist mühsam, wiederholt danach zu fragen zu müssen.

[LEITFADEN] Wie bekomme ich hier die effektivste Hilfe ?



Setze mal das um (Vermutung)

ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#00C4CD")));
bar.setBackgroundDrawable(getResources().getDrawable(R.drawable.settings_icon));

oder
ColorDrawable colorDrawable = new ColorDrawable(Color.parseColor("#20a780"));
getSupportActionBar().setBackgroundDrawable(colorDrawable);
 
Zuletzt bearbeitet:
swa00 schrieb:
ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#00C4CD")));
bar.setBackgroundDrawable(getResources().getDrawable(R.drawable.settings_icon));

Du hast bestimmt gesehen, dass ich das bereits getestet habe...

Hier der Log:

Code:
11-08 08:18:16.782 2768-2768/de.tefracky.tsggiessenwieseck E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008cdf
11-08 08:18:16.783 2768-2768/de.tefracky.tsggiessenwieseck E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008cdf
11-08 08:18:16.784 2768-2768/de.tefracky.tsggiessenwieseck E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008824
11-08 08:18:16.784 2768-2768/de.tefracky.tsggiessenwieseck E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008824
11-08 08:18:17.162 2768-2768/de.tefracky.tsggiessenwieseck E/AndroidRuntime: FATAL EXCEPTION: main
                                                                             Process: de.tefracky.tsggiessenwieseck, PID: 2768
                                                                             java.lang.RuntimeException: Unable to start activity ComponentInfo{de.tefracky.tsggiessenwieseck/de.tefracky.tsggiessenwieseck.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.app.ActionBar.setBackgroundDrawable(android.graphics.drawable.Drawable)' on a null object reference
                                                                                 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2778)
                                                                                 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
                                                                                 at android.app.ActivityThread.-wrap11(Unknown Source:0)
                                                                                 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
                                                                                 at android.os.Handler.dispatchMessage(Handler.java:106)
                                                                                 at android.os.Looper.loop(Looper.java:164)
                                                                                 at android.app.ActivityThread.main(ActivityThread.java:6494)
                                                                                 at java.lang.reflect.Method.invoke(Native Method)
                                                                                 at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
                                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
                                                                              Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.app.ActionBar.setBackgroundDrawable(android.graphics.drawable.Drawable)' on a null object reference
                                                                                 at de.tefracky.tsggiessenwieseck.MainActivity.onCreate(MainActivity.java:33)
                                                                                 at android.app.Activity.performCreate(Activity.java:7000)
                                                                                 at android.app.Activity.performCreate(Activity.java:6991)
                                                                                 at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
                                                                                 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
                                                                                 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856) 
                                                                                 at android.app.ActivityThread.-wrap11(Unknown Source:0) 
                                                                                 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589) 
                                                                                 at android.os.Handler.dispatchMessage(Handler.java:106) 
                                                                                 at android.os.Looper.loop(Looper.java:164) 
                                                                                 at android.app.ActivityThread.main(ActivityThread.java:6494) 
                                                                                 at java.lang.reflect.Method.invoke(Native Method) 
                                                                                 at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 
                                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
 
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.app.ActionBar.setBackgroundDrawable(android.graphics.drawable.Drawable)' on a null object reference
at de.tefracky.tsggiessenwieseck.MainActivity.onCreate(MainActivity.java:33)

Da ist doch dein Fehler .

Dein Actionbar ist null - (ggf V7 & V4 gemischt ?)
 
Scheint wohl so. V4 brauche ich für das SwipeRefreshLayout und V7 für die ActionBar.

Code:
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.AppCompatActivity;

Wie kann ich das Problem denn beheben?
[doublepost=1510157622,1510152102][/doublepost]Man sollte halt auch wissen, was man eigentlich einfärben will, nämlich die StatusBar...

Code:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            Window window = getWindow();
            window.setStatusBarColor(getResources().getColor(R.color.tsgwieseckdunkel));
        }

Das ist die Lösung
 

Ähnliche Themen

A
  • AnimaAngelo85
Antworten
1
Aufrufe
337
swa00
swa00
B
Antworten
0
Aufrufe
656
Ben1703
B
MES
Antworten
10
Aufrufe
820
MES
MES
Zurück
Oben Unten