I am using a ToolBar at the top at present and want to replace the default back button with a home button. But when I add item, it always adds to the right. I don't see any layout_gravity options to choose either. Is there a way to do this?
MainActivity
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>
Current Toolbar output:
Expected Toolbar output:
Image after new edit:
We can easily Customize the Back Button by using the getSupportActionBar() library and setting the drawable file using setHomeAsUpIndicator in the java/kotlin file. actionBar. setHomeAsUpIndicator(R. drawable.
xml file: Just go to res/values/styles. xml file. edit the xml file to change the color of action bar.
Set as NavigationIcon:
Drawable drawable = ContextCompat.getDrawable(context, R.drawable.your_drawable)
toolbar.setNavigationIcon(drawable);
setSupportActionBar(toolbar);
Try this
toolbar.setNavigationIcon(R.drawable.your_icon);
Use it before setting support action bar. And don't call this
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Or at least do
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
Try it out. Some of this will work.
You can also:
mToolbar.setLogo( yourLogoID );
or you can:
mToolbar.setBackground( ContextCompat.getDrawable( yourContext, urBackgroundID );
where
mToolbar = yourToolbar;
mToolbar = findViewById(R.id.your_toolbar);
// or, if your toolbar get setted by a superclass
mToolbar = (Toolbar) getSupportActionBar();
your style should be: Blablabla.NoActionBar then in xml layout include your toolbar
If you are using a Drawer to show left Menu when Left Swiped or Home Button Clicked then you should use one of above methods (If you don't want to superclass all DrawerLayout lul)
bb
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With