actionbar的showAsAction属性问题

问题

某日根据网上教程编写了一个测试用的activity用来演示actionbar,然而,出了一些问题。
menu.xml内容:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      xmlns:app="http://schemas.android.com/apk/res-auto"

     >

<item
        android:id="@+id/action_compose"
        android:icon="@drawable/ic_action_compose"
        app:showAsAction="always"
        android:title="编辑"/>
<item
        android:id="@+id/action_delete"
        android:icon="@drawable/ic_action_delete"
        app:showAsAction="always"
        android:title="删除"/>
<item
        android:id="@+id/action_settings"
        android:icon="@drawable/ic_action_setting"
        app:showAsAction="always"
        android:title="设置"/>

</menu>

activity的代码如下:

package com.app.activities;

import android.app.ActionBar;
import android.app.Activity;
import android.os.Bundle;

import android.view.Menu;
import android.view.MenuInflater;

/**
 * Created by Administrator on 2015/8/27.
 */
public class test_actionbar extends Activity {

    private ActionBar actionBar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test_actionbar);
         actionBar=getActionBar();

        actionBar.show();

    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu_test, menu);
        //return true;
        return super.onCreateOptionsMenu(menu);
    }
}

界面如下:
这里写图片描述
不得其解。
后来将menu。xml的showAsAction前缀修改了一下,变成android,如下:
这里写图片描述

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      xmlns:app="http://schemas.android.com/apk/res-auto"

     >

<item
        android:id="@+id/action_compose"
        android:icon="@drawable/ic_action_compose"
        android:showAsAction="always"
        android:title="编辑"/>
<item
        android:id="@+id/action_delete"
        android:icon="@drawable/ic_action_delete"
        android:showAsAction="always"
        android:title="删除"/>
<item
        android:id="@+id/action_settings"
        android:icon="@drawable/ic_action_setting"
        android:showAsAction="always"
        android:title="设置"/>

</menu>

这里写图片描述
无视报错,继续运行,结果:
这里写图片描述

但查阅了种种文章,一般解决方案都是app:showAsAction针对的是ActionBarActivity,于是就有了这个:

package com.app.activities;

import android.app.ActionBar;
import android.app.Activity;
import android.os.Bundle;

import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuInflater;

/**
 * Created by Administrator on 2015/8/27.
 */
public class test_actionbar extends ActionBarActivity {

    private ActionBar actionBar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test_actionbar);
         actionBar=getActionBar();

        actionBar.show();

    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu_test, menu);
        //return true;
        return super.onCreateOptionsMenu(menu);
    }
}
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      xmlns:app="http://schemas.android.com/apk/res-auto"

     >

<item
        android:id="@+id/action_compose"
        android:icon="@drawable/ic_action_compose"
        app:showAsAction="always"
        android:title="编辑"/>
<item
        android:id="@+id/action_delete"
        android:icon="@drawable/ic_action_delete"
        app:showAsAction="always"
        android:title="删除"/>
<item
        android:id="@+id/action_settings"
        android:icon="@drawable/ic_action_setting"
        app:showAsAction="always"
        android:title="设置"/>

</menu>

这里写图片描述

一切正常。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值