use*_*278 16 eclipse android android-appcompat android-actionbar
我有一个奇怪的问题,我在我的Android应用程序中使用menu.xml文件,如下所示:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:compat="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/action_refresh"
android:orderInCategory="100"
android:title="@string/action_refresh"
android:icon="@drawable/toc"
compat:showAsAction="always"/>
</menu>
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但是几天前我正在将我的eclipse更新到最后一个版本,之后,app:showAsAction ="always"显示错误:
不使用appcompat库时应该使用android:showAsAction,之后我的操作栏图标被移动到溢出栏而根本没有显示在操作栏中.
无论如何,appcompat库是我的基本样式的父级.我该怎么做才能解决这个问题?
Adv*_*t S 18
你需要做三件事 -
将这3件事添加xmlns:tools="schemas.android.com/tools"
tools:context="com.example.sample.YourActivity" xmlns:yourapp="http://schemas.android.com/apk/res-auto"
到您的<menu>
代码中
和通常一样 xmlns:android="http://schemas.android.com/apk/res/android"
加入yourapp:showAsAction="ifRoom"
你的<item>
.
最后,通过Project - > Clean清理项目......
最后一步是为我解决了这个问题.简单地清理项目(有时它们会变脏)
这是最终代码的样子:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="schemas.android.com/tools"
tools:context="com.example.sample.YourActivity"
xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/action_share"
android:orderInCategory="100"
android:title="Share"
android:icon="@drawable/ic_share_white"
yourapp:showAsAction="ifRoom" />
</menu>
Run Code Online (Sandbox Code Playgroud)
Moh*_*Ali 14
这适用于我,我使用appcompatlibrary:
compat:showAsAction="always"
Run Code Online (Sandbox Code Playgroud)
代替:
app:showAsAction="always"
Run Code Online (Sandbox Code Playgroud)
并使用compat:showAsAction ="always",在menu.xml里面包含以下行:
<menu
......
<!-- include the below line -->
xmlns:compat="http://schemas.android.com/apk/res-auto" >
Run Code Online (Sandbox Code Playgroud)
小智 5
面临同样的问题.这两个选项对我有用:
1.包括 - xmlns:compat ="http://schemas.android.com/apk/res-auto">然后使用:"compat:showAsAction ="ifRoom"/>"
2.不包括compat,只需使用:app:showAsAction ="ifRoom"/>
PS:使用Android Studio.
归档时间: |
|
查看次数: |
20775 次 |
最近记录: |