
我一直试图关注official Android development tutorial几天,但我注意到两个可用的IDE,Eclipse与ADT插件和AndroID Studio之间存在一些差异.我听说后者很好,所以我正在使用它,但是当你第一次创建一个新项目时,文件的布局方式似乎有所不同.我大多数都能够在这里和那里解决问题,所以它就像Eclipse(教程中使用的IDE)一样,但我无法弄清楚为什么我的Action buttons没有出现在Actionbar中. Here’s教程供参考.
所以,这就是我的res / menu / main.xml文件的样子:
<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="com.example.myapplicationn.app.MainActivity" ><item androID:ID="@+ID/action_search" androID:icon="@drawable/ic_action_search" androID:title="@string/action_search" app:showAsAction="ifRoom" /><item androID:ID="@+ID/action_settings" androID:title="@string/action_settings" androID:orderIncategory="100" app:showAsAction="never" /></menu>我所做的只是替换action_settings并直接从教程的示例代码中复制action_search. AS和教程之间有一个微妙的(也许不是那么微妙的)差异:教程的文件应该是res / menu / main_activity_actions.xml,但它的AS等价似乎是默认文件res / menu / main.xml,所以我跟着去了.此外,教程示例仅具有第一个属性(xmlns:androID =“http://schemas.androID.com/apk/res/androID”),但AS创建的文件具有其他附加属性,因此我保持不变.然后,我用这个修改了onCreateOptionsMenu方法:
@OverrIDepublic boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu items for use in the action bar MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main, menu); return super.onCreateOptionsMenu(menu);}原始代码再次使用R.menu.main_activity_actions,因此我将其更改为R.menu.main.该项目编译得很好,MainActivity在几秒钟后显示在我的手机中,但是action_search仍然隐藏在动作溢出(不是它所谓的那个?)按钮下.难道我做错了什么?任何帮助表示赞赏.英语不是我的第一语言,我的写作风格有点糟糕,很抱歉.
解决方法:
我最近遇到了同样的问题.
showAsAction属性位于app命名空间中.在教程中解释了在使用兼容性库时使用它.但是,如果您的目标API级别足够高,则不需要.
我能够使用androID命名空间,它对我来说很好.所以将app:showAsAction更改为androID:showAsAction,它会显示在你想要的位置.
总结以上是内存溢出为你收集整理的java – ActionBar中没有显示的Action Buttons全部内容,希望文章能够帮你解决java – ActionBar中没有显示的Action Buttons所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)