我正在将工具栏设置为我的动作栏,但是当我禁用主页按钮并且工具栏上的标题未集中时,我会进行一些活动,因此我希望通过编程将动作栏后退按钮设置为toolbar.setContentInsetsAbsolute(0, 0);
尝试一下
toolbar = (Toolbar) findViewById(R.id.toolbar_editprofile);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
toolbar.setNavigationIcon(getResources().getDrawable(R.drawable.back_arrow));
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case android.R.id.home:
onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
}
您可以通过设置样式来设置,将清单中的活动主题设置为无动作栏,并在布局中手动使用工具栏,并根据需要设置样式,还可以更改文本的大小,也可以使用样式。
<style name="Theme.MyFancyTheme" parent="android:Theme.Holo">
<item name="android:homeAsUpIndicator">@drawable/ic_toolbar_back_button</item>
</style>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:layout_gravity="top"
android:background="@android:color/transparent"
android:visibility="visible"
app:theme="@style/Theme.MyFancyTheme">
您需要对包含标题的工具栏内的TextView
做类似的事情:
android:paddingLeft="?attr/actionBarSize"