ActionBar上添加UI

原创 2013年12月03日 00:06:24

一.在ActionBar上添加ActionBar倒是会,不过添加UI,比如Button之类的就不会了;下面是方法

 

二.在ActionBar上添加UI就等于是添加菜单,不过添加菜单正常情况下比如:menu.add(...),或者同menu中的xml布局文件:getMenuInflater().inflate(R.menu.action_menu, menu);添加;这样添加到的菜单式按menu键才出现的那个菜单(两种菜单创建都会调用onCreateOptionsMenu()方法,监听通过onOptionsItemSelected()),

 

三.下面是添加ActionBar上的菜单:

package com.example.actionbaraddui;

import android.annotation.SuppressLint;
import android.app.ActionBar;
import android.app.Activity;
import android.drm.DrmStore.Action;
import android.os.Bundle;
import android.view.Menu;
import android.widget.SearchView;
import android.widget.SearchView.OnQueryTextListener;
import android.widget.Toast;
/**
 * Demo描述:
 * 在ActionBar上添加UI组件
 *
 * 通常有如下两种实现方法:
 * 1 在定义Action Item时,利用android:actionViewClass属性指定UI控件的实现类
 * 2 在定义Action Item时,利用android:actionLayout属性指定UI控件的布局文件
 *
 * 参考资料:
 * 1 Android疯狂讲义(第二版)
 *   Thank you very much
 *
 */
public class MainActivity extends Activity {
    private SearchView mSearchView;
 @SuppressLint("NewApi")
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  ActionBar bar = getActionBar();
 }

 @SuppressLint("NewApi")
 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  getMenuInflater().inflate(R.menu.action_menu, menu);
  //找到ActionBar上所添加的UI组件的方法:
  mSearchView=(SearchView) menu.findItem(R.id.searchItem).getActionView();
  mSearchView.setOnQueryTextListener(new OnQueryTextListener() {
   @Override
   public boolean onQueryTextSubmit(String string) {
    Toast.makeText(MainActivity.this, "查询:"+string, Toast.LENGTH_SHORT).show();
    return false;
   }
   
   @Override
   public boolean onQueryTextChange(String string) {
    return true;
   }
  });
  
  return true;
 }

}
 


 四.SearchView的使用

mSearchView=(SearchView) menu.findItem(R.id.searchItem).getActionView();
  mSearchView.setOnQueryTextListener(new OnQueryTextListener() {
   @Override
   public boolean onQueryTextSubmit(String string) {
    Toast.makeText(MainActivity.this, "查询:"+string, Toast.LENGTH_SHORT).show();
    return false;
   }
   
   @Override
   public boolean onQueryTextChange(String string) {
    return true;
   }
  });

 

链接参考:http://www.myexception.cn/h/572488.html

                    http://www.myexception.cn/android/1445336.html
  

 

相关文章推荐

ActionBar详解(四)--->在ActionBar上添加UI组件

MainActivity如下: package cc.testsimpleactionbar3; import android.os.Bundle; import android.app.Activ...
  • lfdfhl
  • lfdfhl
  • 2013年10月09日 22:14
  • 2192

[MD学习]使用ActionBar+DrawableLayout+Palette打造侧滑UI

Google 在2014年提出了 Material Design(MD)  的设计规范,根据MD做出来的UI效果炫酷,成了Android码农必不可少的利剑 今天我们的Demo也将使用动态导航图标+主色...

Android UI开发详解之ActionBar

转载:http://blog.csdn.net/eclipsexys/article/details/8688538 在Android3.0之后,Google对UI导航设计上进行了一系列的改...
  • bao9107
  • bao9107
  • 2013年11月21日 14:48
  • 926

高仿易信UI之自定义ActionBar

本文效果图如下红线部分:   1、   在styles.xml文件中自定义主题,自定义的主题一定要有parent   2、   在AndroidManifest.xml文件中设置主题为...
  • JMC601
  • JMC601
  • 2014年04月29日 16:53
  • 769

Android开发UI之自定义ActionBar的风格

前言Action bar 为用户提供一种熟悉可预测的方式来展示操作和导航,但是这并不意味着你的 app 要看起来和其他 app 一样。如果你想将 action bar 的风格设计的合乎你产品的定位,你...

Android_UI开发详解之ActionBar

在Android3.0之后,Google对UI导航设计上进行了一系列的改革,其中有一个非常好用的新功能就是引入的ActionBar,他用于取代3.0之前的标题栏,并提供更为丰富的导航效果。 一、添加...

Android自定义系统分享UI,不使用系统的Dialog和Actionbar,完全自定义

Android分享内容到其他应用,调用系统的Dialog或者ActionBar的弹窗都不太自由,限制太大,这里我提供一个完全自定界面的,可以弹窗,也可以直接在Activity或者Fragment里边自...

Android开发UI之建立ActionBar

Android开发UI之建立ActionBar前言Action bar 最基本的形式,就是为 activity 显示标题,并且在标题左边显示一个 app icon。即使在这样简单的形式下,对于所有的 ...

Android UI模板设计--自定义actionbar(topbar)模板(慕课网学习笔记)

学习笔记http://www.imooc.com/learn/247。设置一个自定义的ActionBar。 1 在values文件夹下新建attrs.xml,写上我们自定义的Actionbar的一些...
  • hnyzwtf
  • hnyzwtf
  • 2015年12月18日 17:21
  • 1199

[Android UI]ActionBar随ScorllView上下拖动而透明度渐变效果(续1)

根据上一篇ActionBar随ScorllView上下拖动而透明度渐变效果的基本描述,我们自定义的actionbar滚动透明的效果使用起来可能有点繁琐。这次想要在上次的代码内容上(可自动切换、无限滑动...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ActionBar上添加UI
举报原因:
原因补充:

(最多只允许输入30个字)