Jika Anda sedang menggunakan AppCompatActivity
dan telah turun jalan tidak menggunakannya, karena Anda ingin tidak mendapatkan otomatis ActionBar
yang diberikannya, karena Anda ingin memisahkan Toolbar
, karena kebutuhan Material Desain dan CoordinatorLayout
atau AppBarLayout
, kemudian, pertimbangkan ini:
Anda masih dapat menggunakan AppCompatActivity
, Anda tidak perlu berhenti menggunakannya hanya agar Anda dapat menggunakan <android.support.v7.widget.Toolbar>
dalam xml Anda. Matikan saja gaya action bar sebagai berikut:
Pertama, dapatkan gaya dari salah satu tema NoActionBar yang Anda sukai di dalam Anda styles.xml
, saya gunakan Theme.AppCompat.Light.NoActionBar
seperti ini:
<style name="SuperCoolAppBarActivity" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/primary</item>
<!-- colorPrimaryDark is used for the status bar -->
<item name="colorPrimaryDark">@color/primary_dark</item>
...
...
</style>
Di manifes Aplikasi Anda, pilih tema gaya anak yang baru saja Anda tentukan, seperti:
<activity
android:name=".activity.YourSuperCoolActivity"
android:label="@string/super_cool"
android:theme="@style/SuperCoolAppBarActivity">
</activity>
Di Activity Xml Anda, jika bilah alat didefinisikan seperti ini:
...
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
/>
...
Kemudian, dan ini adalah bagian penting, Anda mengatur bilah tindakan dukungan ke AppCompatActivity yang Anda perluas, sehingga bilah alat di xml Anda, menjadi bilah tindakan. Saya merasa ini adalah cara yang lebih baik, karena Anda bisa melakukan banyak hal yang memungkinkan ActionBar, seperti menu, judul aktivitas otomatis, penanganan pemilihan item, dll. Tanpa harus menambahkan penangan klik khusus, dll.
Di OverCreate aktivitas Anda, lakukan hal berikut:
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_super_cool);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
//Your toolbar is now an action bar and you can use it like you always do, for example:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}