【发布时间】:2015-06-06 01:23:49
【问题描述】:
我知道这个问题已经被问过好几次了。但我想我必须自己问这个问题,因为现有的问题都不适合我的问题:
我正在为 Kitkat(4.4) 开发并尝试使用主题为:holo.light.darkActionBar 的操作栏。
我使用菜单中的项目创建了一些 xml 文件,并将其在 java 类中链接到活动:
菜单/主目录:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
<item android:id="@+id/action_filter"
android:title="@string/action_filter"
android:orderInCategory="100"
android:icon="@drawable/ic_action_filter"
app:showAsAction="ifRoom" />
主活动:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
menu.clear();
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
问题如下: 当我单击 menu/main.xml 时,我可以看到一个项目已添加到操作栏中。但它从未出现在 activity_main.xml 中。
我搜索了好几个小时并考虑了以下问题: -将 minSDK 设置为 19 -我知道有时它不会显示,因为设备有一个菜单按钮。但是我使用了一个图标并说应该显示它。因此它应该出现。而且我还使用没有菜单按钮的 Nexus Emulation。 -我使用Android studio并在android studio的帮助下插入活动。 -mainActivity 扩展了 FragmentActivity(因为我选择了 google maps 活动) -我尝试了其他主题,但操作栏完全消失了(oc没有使用.noActionBar!) -我为操作栏设置了一种样式,并在那里指定了一种红色。此颜色会传播到 Activity,但不会传播到项目。
我的进口是:
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
import android.view.Menu;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
它的外观:
现在的样子:
我真的很希望你们中的一些人能帮助我,这让我发疯了。
【问题讨论】:
-
你是否在你的片段中做任何可能覆盖活动菜单的事情?您也应该改用新的工具栏:developer.android.com/reference/android/widget/Toolbar.html
标签: java android android-actionbar android-4.4-kitkat