【发布时间】:2013-10-21 18:04:09
【问题描述】:
如何使应用程序图标在 actionbarsherlock(不是仅标题图标)中启用,就像在什么应用程序中一样。
【问题讨论】:
如何使应用程序图标在 actionbarsherlock(不是仅标题图标)中启用,就像在什么应用程序中一样。
【问题讨论】:
自 Android 4.2.2 起,标题可与图标一起单击。 WhatsApp 使用自定义视图来显示两行标题。这将禁用沿途的标题点击。你也可以这样做:
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setCustomView(R.layout.ab_title);
TextView title = (TextView) findViewById(android.R.id.text1);
title.setText("Title");
/res/layout/ab_title.xml:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="@style/TextAppearance.Sherlock.Widget.ActionBar.Title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:ellipsize="end"
android:gravity="center_vertical" />
【讨论】:
将以下内容添加到您的 onCreate 方法中:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
并在您的活动中定义以下覆盖方法:
@Override
public boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
onBackPressed();
break;
default:
return super.onOptionsItemSelected(item);
}
return true;
}
【讨论】:
onBackPressed() 错了!主页按钮和返回按钮不一样。请改用NavUtils.navigateUpFromSameTask(this)。
我的朋友,我认为这是 Android 版本/构建“功能”,因为我有两台设备(Nexus S 和 Nexus 7)(Android 4.1.2 和 Android 4.2.2)并且我正在部署我的应用程序在两台设备上开发,完全相同的代码,在 Nexus S 上,图标是“向上”,在 Nexus 7 上,图标和标题都是“向上”。
【讨论】:
确保您的 android:minSdkVersion="11" 可以在清单文件中看到,Up 图标已包含在 APK 11 中。将以下内容添加到您的 onCreate 方法对于主页放置 getActionBar().setDisplayHomeAsUpEnabled(false) ;确保它是假的,并且在其他活动中保持启用它,即“真”。我制作了一个小样本,请尝试以下链接,这可能会帮助您将其导入您的工作空间
【讨论】: