【发布时间】:2018-01-04 09:45:39
【问题描述】:
我想学习如何在 android 中使用工具栏并尝试在操作栏中添加菜单,但是当我运行我的预览启动项目时,注意到现在缺少默认的空活动菜单栏!我不知道为什么会这样。
这是我的 MainActivity.xml 代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="ir.cupcode.artin.contact.MainActivity">
<ListView
android:id="@+id/list"
android:layout_height="match_parent"
android:layout_width="match_parent"/>
</RelativeLayout>
我在 MainActivity.java 中有这段代码用于菜单栏:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menubar, menu);
return true;
}
这是我的 menubar.xml 代码
<?xml version="1.0" encoding="utf-8"?>
<item
android:id="@+id/action_refresh"
android:orderInCategory="100"
android:showAsAction="always"
android:icon="@drawable/ic_action_test"
android:title="Refresh"/>
<item
android:id="@+id/action_settings"
android:title="Settings">
</item>
此外,我在使用 android:showAsAction="always" 时遇到错误,提示应该将 app:showAsAction 与 appcombat 库一起使用
<?xml version="1.0" encoding="utf-8"?>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_appicon2"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
【问题讨论】:
-
您是否将活动扩展到
AppcompatActivity? -
发布您的清单
-
@SripadRaj 默认是扩展的! ` 公共类 MainActivity 扩展 AppCompatActivity`
-
那么您是否已将
Appcompat库添加到您的项目中?如果没有,请添加它。将android:showAsAction="always"更改为app:showAsAction -
@sasikumar 我发布了!
标签: java android android-actionbar