关闭

ActionBar上添加UI

707人阅读 评论(0) 收藏 举报
分类:

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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:38601次
    • 积分:621
    • 等级:
    • 排名:千里之外
    • 原创:22篇
    • 转载:4篇
    • 译文:0篇
    • 评论:22条
    最新评论