我有一个自定义工具栏,位于图片中。在某些活动中,我将使用相同的工具栏,但导航图标将返回图标。
我实际上是这样做的。但是当我删除name
并设置ImageView(navigationicon)
;
back button
通常工具栏宽度大小混合。但我也想使用带有parentActivity属性的后退按钮。处理此问题的最简单方法是什么(我使用API 21)
答案 0 :(得分:2)
在工具栏中使用后退按钮
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setNavigationIcon(R.drawable.ic_arrow_back_icon);// Toolbar icon in Drawable folder
toolbar.setTitle("App");
toolbar.setTitleTextColor(Color.WHITE);// Title Color
setSupportActionBar(toolbar);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();// Do what do you want on toolbar button
}
});
答案 1 :(得分:1)
注意:我使用折叠工具栏作为示例。 在onCreate中,在声明自定义工具栏及其布局后,如下所示:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
CollapsingToolbarLayout collapsingToolbar =
findViewById(R.id.collapsing_toolbar);
collapsingToolbar.setTitleEnabled(true);
collapsingToolbar.setTitle("Profile");
assert getSupportActionBar() != null;
setSupportActionBar((Toolbar) findViewById(R.id.toolbar));
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
在清单中设置父活动。您将在工具栏中看到一个返回上一个活动或您父项活动的后退箭头;如下所示:
<activity
android:name="SecondActivity"
android:parentActivityName="MainActivity"/>
另外,您还可以在清单中设置目标API,如下所示:
<activity
android:name="SecondActivity"
android:parentActivityName="MainActivity"
tools:targetApi="jelly_bean" />
在您的情况下:您的目标API将是Lollipop(21)
答案 2 :(得分:0)
*试试这个你可以改变每个活动和功能中的图标*
Toolbar t = (Toolbar) findViewById(R.id.toolbar);
setSupportActionToolbar(t);
t.setNavigationIcon(icon);
t..setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // do what you want here } });