Eğer varsa edildi kullanarak AppCompatActivity
ve otomatik alamadım istediği için, kullanmadığınız yoluna aşağı gitti ActionBar
sağladığı dışarı ayırmak istiyorum çünkü Toolbar
, çünkü Materyal Tasarımı ihtiyaçları ve CoordinatorLayout
ya AppBarLayout
, o zaman, bu göz önünde bulundurun:
Hala kullanabilirsiniz, xml'de bir kullanabilmeniz için kullanmayı AppCompatActivity
bırakmanız gerekmez <android.support.v7.widget.Toolbar>
. İşlem çubuğu stilini aşağıdaki gibi kapatmanız yeterlidir:
İlk olarak, sizin gibi NoActionBar temalarından birinden bir stil elde edin styles.xml
, şöyle kullandım Theme.AppCompat.Light.NoActionBar
:
<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>
Uygulamanızın bildiriminde, tanımladığınız çocuk stili temasını şu şekilde seçin:
<activity
android:name=".activity.YourSuperCoolActivity"
android:label="@string/super_cool"
android:theme="@style/SuperCoolAppBarActivity">
</activity>
Etkinlik Xml'inizde, araç çubuğu şu şekilde tanımlanırsa:
...
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
/>
...
Sonra, bu önemli bir parçası, sen ayarlamak için xml araç çubuğu, böylece, sen uzanan olduğunuzu AppCompatActivity destek Eylem çubuğunu olur işlem çubuğu. Bunun daha iyi bir yol olduğunu düşünüyorum, çünkü özel tıklama işleyicileri eklemeye başvurmadan, menüler, otomatik etkinlik başlığı, öğe seçimi işleme vb.Gibi ActionBar'ın izin verdiği birçok şeyi basitçe yapabilirsiniz.
Etkinliğinizin onCreate geçersiz kılmasında aşağıdakileri yapın:
@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);
}