2015-04-23 9 views

Antwort

9

Sie kann die neue Komponente AppCompatDelegate verwenden, die von der Support-Bibliothek bereitgestellt wird.

ActionBar ist jetzt veraltet und Sie sollten eine Toolbar verwenden, um Material Design zu entsprechen. Sie können die von der Support-Bibliothek zur Verfügung gestellte Toolbar verwenden.

es zu einem XML-Layout wie folgt hinzufügen:

<android.support.v7.widget.Toolbar 

     android:id="@+id/my_awesome_toolbar" 
     android:layout_height="wrap_content" 
     android:layout_width="match_parent" 
     android:minHeight="56dp" 
     android:background="?attr/colorPrimary" 

     /> 

Seien Sie sicher, ein NoActionBar Thema in Ihrem styles.xml zu verwenden. Verwenden Sie die Material Design-Farbmarken.

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> 
</style> 

Dann fügen Sie die AppCompatDelegate auf Ihre Aktivität, in OnCreate(), wie diese.

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

    AppCompatCallback callback = new AppCompatCallback() { 
     @Override 
     public void onSupportActionModeStarted(ActionMode actionMode) { 
     } 

     @Override 
     public void onSupportActionModeFinished(ActionMode actionMode) { 
     } 
    }; 

    AppCompatDelegate delegate = AppCompatDelegate.create(this,callback); 

    delegate.onCreate(savedInstanceState); 
    delegate.setContentView(R.layout.activity_main); 

    Toolbar toolbar= (Toolbar) findViewById(R.id.my_awesome_toolbar); 
    delegate.setSupportActionBar(toolbar); 


} 

Hinweis: ein AppCompatDelegate Sie brauchen So erstellen Sie die Aktivität selbst und einen Rückruf zu passieren, sollte eine gute Praxis, den Rückruf in Ihrer Aktivität umsetzen, aber aus Gründen verkürzt habe ich eine Instanz in onCreate().

1

Verwenden Holo Themen in styles.xml Weil du das ActionBar erst nach holo

Gebrauch verwenden können:

<style name="AppTheme" parent="android:Theme.Holo">