![](/img/trans.png)
[英]Android - Align options menu to the left side and change its default icon
[英]Change ToolBar default icon on the left
我目前在頂部使用工具欄,並希望用主頁按鈕替換默認的后退按鈕。 但是當我添加項目時,它總是添加到右邊。 我沒有看到任何layout_gravity選項可供選擇。 有沒有辦法做到這一點?
主要活動
Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_delete);
toolbar = (Toolbar)findViewById(R.id.app_bar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(" Testing");
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.home_icon_empty, menu);
return true;
}
home_icon_empty.xml
<item
android:id="@+id/homepage"
android:orderInCategory="100"
android:title="HOME"
android:icon="@drawable/home_icon"
app:showAsAction="always"
/>
<item
android:id="@+id/homepage1"
android:orderInCategory="200"
android:title="HOME"
android:icon="@drawable/home_icon"
app:showAsAction="always"
/>
activity_main.xml中
<include
android:id="@+id/app_bar"
layout="@layout/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
app_bar.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary">
</android.support.v7.widget.Toolbar>
當前工具欄輸出:
預期的工具欄輸出:
新編輯后的圖像:
設為NavigationIcon:
Drawable drawable = ContextCompat.getDrawable(context, R.drawable.your_drawable)
toolbar.setNavigationIcon(drawable);
setSupportActionBar(toolbar);
嘗試這個
toolbar.setNavigationIcon(R.drawable.your_icon);
在設置支持操作欄之前使用它。 不要叫這個
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
或者至少這樣做
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
試試看。 其中一些會起作用。
根據材料設計指南添加尺寸的可繪制資產,並在Activity onCreate
調用以下方法
private void setUpToolBar() {
setSupportActionBar(toolbar);
//Set Home screen icon
getSupportActionBar().setHomeAsUpIndicator(R.drawable.home_screen_icon);
//Enable Home icon
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
//Toolbar title
getSupportActionBar().setTitle(getString(R.string.app_name));
//Set toolbar as action bar
setSupportActionBar(toolbar);
}
你也可以:
mToolbar.setLogo( yourLogoID );
或者你可以:
mToolbar.setBackground( ContextCompat.getDrawable( yourContext, urBackgroundID );
哪里
mToolbar = yourToolbar;
mToolbar = findViewById(R.id.your_toolbar);
// or, if your toolbar get setted by a superclass
mToolbar = (Toolbar) getSupportActionBar();
你的風格應該是:Blablabla.NoActionBar然后在xml布局中包含你的工具欄
如果您在左側滑動或主頁按鈕單擊時使用抽屜顯示左側菜單,則應使用上述方法之一(如果您不想超級所有DrawerLayout lul)
BB
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.