Adn*_*nan 4 android android-appcompat android-actionbar android-support-library
这是我的general.xml
档案
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
<item
android:id="@+id/next"
android:title="Next"
android:visible="true"
android:enabled="true"
android:showAsAction="always"
android:orderInCategory="1">
</item>
<item
android:id="@+id/Previous"
android:title="Previous"
android:visible="true"
android:enabled="true"
android:orderInCategory="2"
android:showAsAction="always">
</item>
<item android:id="@+id/star"
android:icon="@drawable/ic_action_important"
android:enabled="true"
android:orderInCategory="0"
android:showAsAction="always"
android:title="Star"
android:visible="true">
</item>
</menu>
Run Code Online (Sandbox Code Playgroud)
这是我的代码
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.general, menu);
getSupportActionBar().setDisplayShowHomeEnabled(false);
getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#003f84")));
return true;
}
Run Code Online (Sandbox Code Playgroud)
现在,我的问题是菜单项没有显示在操作栏中.我在这里做错了吗?
JRo*_*ero 19
showAsAction
应该在不同的命名空间中(yourapp
在下面的示例中).
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
yourapp:showAsAction="ifRoom" />
...
</menu>
Run Code Online (Sandbox Code Playgroud)
youapp
只是一个指向命名空间的命名空间标识符http://schemas.android.com/apk/res-auto
,您可以将其更改为任何内容.SDK会自动将该命名空间映射到您的包名称(请参阅下面的更改日志).
添加了对库中自定义属性的自定义视图的支持.使用自定义属性的布局必须使用命名空间URI http://schemas.android.com/apk/res-auto而不是包含应用程序包名称的URI.在构建时,此URI将替换为特定于应用程序的URI.
这是必要的,以便它可以正确地找到以前的OS版本中不可用的属性,而是应用程序包的一部分.从注释文档:
请注意,上面的showAsAction属性使用标记中定义的自定义命名空间.在使用支持库定义的任何XML属性时,这是必需的,因为旧设备上的Android框架中不存在这些属性.因此,您必须使用自己的命名空间作为支持库定义的所有属性的前缀.
归档时间: |
|
查看次数: |
3345 次 |
最近记录: |