Если вы были с помощью AppCompatActivity
и пошли по пути он не используется, потому что вы хотите, чтобы не получить автоматическую ActionBar
, что она обеспечивает, потому что вы хотите выделить Toolbar
, из-за ваших потребностей Material Design и CoordinatorLayout
или AppBarLayout
, то подумайте:
вы все еще можете использовать AppCompatActivity
, вы не должны прекратить использовать его просто так, что вы можете использовать <android.support.v7.widget.Toolbar>
в вашем XML.Просто отключить панель действий стиля следующим образом:
Во-первых, получить стиль от одной из того NoActionBar, что вам нравится в вашем styles.xml
, я использовал 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>
В вашем приложении манифеста, выбрать тему ребенка стиль вы только что определили, например, так:
<activity
android:name=".activity.YourSuperCoolActivity"
android:label="@string/super_cool"
android:theme="@style/SuperCoolAppBarActivity">
</activity>
в вашей деятельности Xml, если тулбар определяется следующим образом:
...
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
/>
...
Тогда, и это важная часть, вы набор поддержка панель действий в AppCompatActivity, что вы простирающийся, так что панель инструментов в вашем XML, становится бар действия. Я считаю, что это лучший способ, потому что вы можете просто сделать много всего, что позволяет ActionBar, например меню, название автоматической активности, обработка выбора элементов и т. Д., Не прибегая к добавлению пользовательских обработчиков кликов и т. Д.
В вашем Действие onCreate override, сделайте следующее:
@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);
}
Как о http://stackoverflow.com/a/29809691/1644301 – mDroidd