我想要这样的事情:link。一个小箭头和图标,但在工具栏中。
修改
我试过这个:
mToolbar = (CustomToolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
mToolbar.setNavigationIcon(R.drawable.ic_ab_back_holo_light);
mToolbar.setTitle(mMatchName);
mToolbar.setLogo(R.mipmap.ic_options);
getSupportActionBar().setHomeButtonEnabled(true);
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
overridePendingTransition(0, R.anim.slide_right);
}
});
但这使得箭头图标和徽标之间的距离很大。
问题:
如何将箭头和徽标放在一起?
答案 0 :(得分:1)
您的链接会将您带到旧ActionBar的示例,但您似乎正在使用新工具栏。新的工具栏设计没有旧版本的图标,只有文本,因此额外的空间是设计的。如果你想使用你链接的东西,那么你需要使用ActionBar而不是工具栏。
以下是新工具栏上的链接: https://blog.xamarin.com/android-tips-hello-toolbar-goodbye-action-bar/
VS。旧的ActionBar https://developer.android.com/training/basics/actionbar/index.html
答案 1 :(得分:0)
经过一些实验,我发现如何在工具栏中实现像这样的向上导航:
我们可以创建自定义布局并将其放在工具栏中。
1)在onCreate方法中:
mToolbar = (CustomToolbar) findViewById(R.id.toolbar);
setUpCustomUpNavigation();
setSupportActionBar(mToolbar);
// to disable title in a toolbar
getSupportActionBar().setDisplayShowTitleEnabled(false);
2)setUpCustomUpNavigation()方法。
private void setUpCustomUpNavigation() {
LayoutInflater mLayoutInflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View customUpNavView = mLayoutInflater.inflate(R.layout.up_navigation_layout, null);
// "ic_ab_back_holo_light.png" Located in ...android-sdk\platforms\android-14\data\res\drawable-xhdpi
ImageView backArrowImageView = (ImageView) customUpNavView.findViewById(R.id.backArrowImageView);
ImageView logoToolbarImageView = (ImageView) customUpNavView.findViewById(R.id.logoToolbarImageView);
TextView titleTextView = (TextView) customUpNavView.findViewById(R.id.titleTextView);
// set logo
logoToolbarImageView.setImageResource(R.drawable.help_toolbar_ic_selector);
// set title
titleTextView.setText(R.string.title_activity_help);
mToolbar.addView(customUpNavView);
}
3)toolbar.xml
<?xml version="1.0" encoding="utf-8"?>
<net.stargorod.dating.toolbar.CustomToolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:background="@color/colorPrimary"
android:minHeight="?actionBarSize"
style="@style/MyToolbar" />
4)在style.xml中创建样式:MyToolbar。
<!-- Toolbar style -->
<style name="MyToolbar" parent="Widget.AppCompat.ActionBar">
<item name="contentInsetStart">0dp</item>
<item name="contentInsetEnd">0dp</item>
<item name="android:padding">0dp</item>
</style>
<强>结果:强>
就是这样!
P.S。对不起我的语法错误。