Android : Wie man / Tutorial zum Ändern ActionBar zum ActionBarCompat (Toolbar ) ?

? LemonGentry @ | Original: StackOverFlow
---

Ich habe auf diese aufgeklebt, überprüfte die offiziellen Richtlinien usw. Alle Tutorials / was sind die Schritte, um von zu ActionBar ActionBarCompat ändern ( für die Werkzeugleiste und die Unterstützung von älteren Versionen Ich habe appcompat - v7 importiert : . 21,0 +, versucht

getSupportActionBar(); and

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

setSupportActionBar(toolbar);

geänderte Thema zu Thema gibt es in verschiedenen AppCompat ... Irgendwelche häufige Fehler zu bemerken, oder Ideen ?

Unterhalt, der diese Art von Fehler :

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.battery.plusfree/com.battery.plusfree.MainCollectionActivity}: java.lang.NullPointerException
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2212)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271)
        at android.app.ActivityThread.access$800(ActivityThread.java:144)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5146)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
        at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
        at dalvik.system.NativeStart.main(Native Method)
 Caused by: java.lang.NullPointerException
        at com.battery.plusfree.MainCollectionActivity.onCreate(MainCollectionActivity.java:133)
        at android.app.Activity.performCreate(Activity.java:5231)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5146)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
            at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
            at dalvik.system.NativeStart.main(Native Method)
---

Top 5 Antwort

1Andrew Butler @

Ich habe gelernt, mit meiner Anwendung ist, dass Sie nicht verwenden können, die Symbolleiste und die Aktionsleiste zur gleichen Zeit . So dass könnte sein, wo das Problem liegt, aber ich bin mir nicht sicher, weil Sie nicht Ihren Code, aber mit Hilfe der styles.xml Datei, die Sie haben, um entweder oder, wie so festzulegen:

<style name="AppTheme.Base" parent="Theme.AppCompat">
    <item name="colorPrimary">@color/mycolorprimary</item>
    <item name="colorPrimaryDark">@color/mycolorprimarydark</item>
    <item name="android:windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
</style>

Activity.xml:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:custom="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- dont use this if you only want to use the actionbar instead -->

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:elevation="5dp"
        android:minHeight="?attr/actionBarSize"
        android:background="?attr/colorPrimary" />

</LinearLayout>

Activity.java:

    public class MyActivity extends ActionBarActivity {

       Toolbar mToolbar;

       public void onCreate(Bundle savedInstanceState) {

          // configure toolbar stuff
          setSupportActionBar(mToolbar);

          // or if you don't want to use the toolbar then change the style values accordingly and then you can run getSupportActionBar() instead

       }

    }

Referenz: http://antonioleiva.com/material-design-everywhere/ .. hoffe, das hilft !

2AG1 @

@ Andrew Butler: gute Antwort, aber es ist eine Standardmethode nicht zu verwenden, eine Aktionsleiste .

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <!-- Customize your theme here.>
</style>

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here.>
</style>
3Akash Bangad @

Hier ist ein Artikel, der durch die Sie umsetzen Symbolleiste, wie man wollte Hier ist der Artikel  http://www.android4devs.com/2014/12/how-to-make-material-design-app.html

4JD2015 @

Setzen Sie die Muttergesellschaft von Ihrem Thema, das eine ohne eine Aktionsleiste . zum Beispiel

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/mycolorprimary</item>
    <item name="colorPrimaryDark">@color/mycolorprimarydark</item>
    <item name="android:windowNoTitle">true</item>
</style>

Es gäbe keine Notwendigkeit, windowActionBar falsche mehr eingestellt werden .