Java 自定义工具栏后退按钮属性
我有一个自定义工具栏,它位于图像中。在某些活动中,我将使用相同的工具栏,但导航图标将是返回图标 我真的做到了。但是当我移除Java 自定义工具栏后退按钮属性,java,android,Java,Android,我有一个自定义工具栏,它位于图像中。在某些活动中,我将使用相同的工具栏,但导航图标将是返回图标 我真的做到了。但是当我移除图像视图(导航图标)并设置后退按钮时 getSupportActionBar().setHomeButtonEnabled(true); 通常工具栏宽度大小混合。但我还想使用带有parentActivity属性的back按钮。处理这个问题最简单的方法是什么(我使用API 21)在工具栏中使用后退按钮的代码 Toolbar toolbar = (Toolbar) findVi
图像视图(导航图标)
并设置后退按钮时
getSupportActionBar().setHomeButtonEnabled(true);
通常工具栏宽度大小混合。但我还想使用带有parentActivity属性的back按钮。处理这个问题最简单的方法是什么(我使用API 21)在工具栏中使用后退按钮的代码
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
}
});
NB:我以折叠工具栏为例。 在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"/>
<activity
android:name="SecondActivity"
android:parentActivityName="MainActivity"
tools:targetApi="jelly_bean" />
在清单中设置一个父活动。你会在工具栏中看到一个返回箭头,返回到上一个活动或任何父活动;详情如下:
@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"/>
<activity
android:name="SecondActivity"
android:parentActivityName="MainActivity"
tools:targetApi="jelly_bean" />
此外,您还可以在清单中设置目标API,如下所示:
@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"/>
<activity
android:name="SecondActivity"
android:parentActivityName="MainActivity"
tools:targetApi="jelly_bean" />
在您的情况下:您的目标API将是棒棒糖(21)*试试这个,您可以在每个活动和功能中更改图标*
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 } });
谢谢你的帮助。我的标题是非常薄,我还需要使用薄后退按钮,这是不可用的矢量资源。如果使用imageview作为后退按钮(256x256),是否会出现图形问题?在我的记事本4中,可视性似乎没有问题。使用默认的创建向量在向量资产中创建自定义后退按钮。然后您可以在xml中自定义后退按钮。如果您使用的是imageview,只需将其上载为工具栏图标,Android Studio将根据开发者推荐的工具栏资源大小为您调整imageview的大小。