您的位置:首页 > 移动开发 > Android开发

Android Studio下ActionBar示例

2016-02-28 23:00 399 查看
首先声明,我写的这个案例没有做兼容3.0以下的版本

1.public class MainActivity extends Activity

2.在Manifeast中设置主题:android:theme="@android:style/Theme.Holo.Light"

3.

在Menu目录下的menu_mian.xml文件中编写:

<menu xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    tools:context=".MainActivity">

    <!--Menu目录下就是用来展示菜单-->

    <item

        android:id="@+id/action_search"

        android:icon="@mipmap/ic_action_search"

        android:title="@string/action_search"

        android:showAsAction="ifRoom"

        android:actionViewClass="android.widget.SearchView"/>

</menu>

(这边的编写会出现一个问题,就是:


  android:showAsAction="ifRoom"下会有红线报错,解决方法是:按住ALT+ENTER,选择Disable inspection选项,这样就不会报错了。

4.还有在MainActivity中必须有有anCreateOptionMenu(Menu menu)方法,否则菜单不会初始化。

  /**

     * 这个方法是创建一个菜单,即初始化菜单,这个方法必须有,如果没有,就不能把菜单初始化到ActionBar上了。

     *

     * @param menu

     * @return

     */

    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

        MenuInflater inflater = getMenuInflater();

        inflater.inflate(R.menu.menu_main, menu);

        //在初始化菜单的时候,创建SearchView对象

        SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();

        //设置搜索监听

        //要想这边不发生空指针异常,就必须在<item/>加入android:actionViewClass="android.widget.SearchView"这个属性(菜单条目中配置)

        //android通过这个属性去加载SearchView,然后赋值给searchView。

        searchView.setOnQueryTextListener(this);

        return true;

    }

5.最后效果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息