ActionBar上添加UI

一.在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
  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值