簡體   English   中英

更改左側的ToolBar默認圖標

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM