我正在从应用程序中的ActionBar
迁移到Toolbar
。但我不知道如何在工具栏上的后退箭头上显示和设置click event,就像我在
Actionbar上做的那样。
使用
ActionBar
,我调用mActionbar。设置DisplayHomeAsupEnabled(true)
。但没有类似的方法。
有没有人曾经面对过这种情况,并以某种方式找到了解决它的方法?
有很多方法可以实现这一点,以下是我最喜欢的:
布局:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:navigationIcon="?attr/homeAsUpIndicator" />
活动:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// back button pressed
}
});
我看到了很多答案,但这是我之前没有提到的。它从API 8开始工作。
public class DetailActivity extends AppCompatActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
// toolbar
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
// add back arrow to toolbar
if (getSupportActionBar() != null){
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// handle arrow click here
if (item.getItemId() == android.R.id.home) {
finish(); // close this activity and return to preview activity (if there is any)
}
return super.onOptionsItemSelected(item);
}
匿名用户
如果您使用的是ActionBar活动
,那么您可以告诉Android使用工具栏
作为操作栏
,如下所示:
Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
setSupportActionBar(toolbar);
然后打电话给
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
会有用的。您还可以在附加到ActionBarActivities
的片段中使用它,您可以这样使用它:
((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayShowHomeEnabled(true);
如果您没有使用ActionBarActive
,或者如果您想在没有设置为您的Support portActionBar
的Toolbar
上获取反箭头,那么您可以使用以下方法:
mActionBar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_action_back));
mActionBar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//What to do on back clicked
}
});
如果你使用的是Android系统。支持v7。小装置。工具栏,则应将以下代码添加到应用程序活动:
@Override
public boolean onSupportNavigateUp() {
onBackPressed();
return true;
}
我怎样才能设置返回箭头在Android工具栏也应用点击监听器?
我真的尝试了一切,试图让我的背向箭头在我的工具栏上工作,但我没有成功。我尝试了覆盖选项ItemSelected。我还尝试了这个线程导航的建议(操作栏的背向箭头)不适用于片段,也没有成功。我也在处理碎片。 注册表活动 显示 和我的activity\u注册xml
我尝试在我的主题中设置以下内容,但似乎并没有改变什么:
我正在尝试在上显示一个以将上一页/活动移动到主页面(第一次打开)。我做不到。 我的代码。 代码在中。
我正在尝试将工具栏的后箭头图标与工具栏标题对齐,但没有找到任何有用的方法来执行此操作, 默认情况下,如果您将设置字幕和标题文本,则后退箭头图标将垂直对齐,例如默认设置为中间位置, 我知道我可以通过在工具栏中提供自定义布局来做到这一点,但我想知道是否有任何默认的方法或行为?
我想在我的应用程序中显示后退箭头按钮,但当我把这个放在代码中时,应用程序崩溃了: style.xml 类(不是片段):