我正在为我的学校制作一个应用程序,我在其中完成了一个页面。然而,经过测试,我发现即使我放了以后:
android.support.v7.app.ActionBar aB = getSupportActionBar();
assert aB != null;
aB.setDisplayHomeAsUpEnabled(true);
// Makes App Icon Back/Up Button
aB.setDisplayShowHomeEnabled(true);
aB.setLogo(R.drawable.-omitted-);
aB.setDisplayUseLogoEnabled(true);
// Shows App Icon in Action Bar
操作栏显示向上/向后按钮,与图标分开。向上/向后按钮位于最左侧,图标位于中间,活动名称位于最右侧。点击它会让我回到主屏幕,但我想一起显示向上/向后按钮和图标,就像在Whatsapp中的对话中的组图标一样。这是我的风格:
<style name="CredsStyle" parent="Theme.AppCompat.Light">
<item name="android:windowActionBar">true</item>
<!--Shows Action Bar-->
这是因为我设置了错误的父样式,windowActionBar属性,还是因为我正在使用Build Tools / AppCompat 22,或者我忘记了另一种方法或我不知道的事情,你能不能告诉我该做什么?谢谢你的帮助!
答案 0 :(得分:0)
您无法同时呼叫aB.setDisplayShowHomeEnabled(true);
和aB.setDisplayHomeAsUpEnabled(true);
。
您要实现的目标可以通过以下方式实现:
getActionBar().setDisplayHomeAsUpEnabled(true);
这实际上不会删除应用程序图标。 并且为了在Home / Back Icon上添加click事件,你必须覆盖如下:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
/*NavUtils.navigateUpFromSameTask(this);
Intent fgag = new Intent(getApplicationContext(), FragmentLauncher.class);
startActivity(fgag);*/
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
答案 1 :(得分:0)
我建议您使用工具栏来显示操作栏,它更容易,您可以很容易地控制它,这是一个例子:
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/toolbar">
toolbar = (Toolbar) findViewById(R.id.header);
setSupportActionBar(toolbar);
toolbar.setLogo(R.drawable.best_deal);
toolbar.setLogoDescription(R.string.logo_description);