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>
(这边的编写会出现一个问题,就是:
![](https://img-blog.csdn.net/20160228230928029?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
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.最后效果:
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.最后效果:
相关文章推荐
- 灵活使用Android中ActionBar和ViewPager切换页面
- Android中ActionBar以及menu的代码设置样式
- android中开启actionbar的两种方法
- 为Android Studio编写自定义Gradle插件的教程
- Android应用开发中Action bar编写的入门教程
- 解决Android Studio更新错误
- ActionBar的返回按钮问题
- Adnroid Studio Gradle 多渠道打包
- ActionBar+Fragment实现Tab
- AsyncTask使用
- Android - Toolbar 神秘的左margin
- 如何让有物理键的手机在ActionBar始终显示更多菜单menu键
- ActionBar 值 addTab 的小提示
- ActionBar之style出现Cannot resolve symbol 'Theme' 错误
- 第二博、Android开发工具
- ActionBar学习笔记(一)
- 自定义ActionBar或Toolbar
- android 里的actionbar最右边的overflow功能的实现
- AndroidStudio创建TV-APP,出现Error:(28, 13) Failed to resolve: com.squareup.picasso:picasso:2.5.0 的解决
- 教你如何不翻墙就可以快速更新AndroidSDK Manager中的内容