注意导包
toolbar中的
搜索功能–support.v7包中提供的搜索
分享功能–support.v7包中提供的分享
添加功能–自己写子菜单
activityone.java
package com.hnkjwlxy.androidch01;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.view.MenuItemCompat;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.SearchView;
import android.support.v7.widget.ShareActionProvider;
import android.support.v7.widget.Toolbar;
import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Toolbar tb_mytoolbar;
private Button btn_ok;
private ListView lv_search;
private String[] mstr={"aaa","bbb","ccc","张杰"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_one);
initView();
this.setSupportActionBar(tb_mytoolbar);
//显示toolbar
lv_search.setAdapter(new ArrayAdapter<String>
(this,android.R.layout.simple_list_item_1,mstr));
//为listview添加过滤器监听,可以使用文本过滤器
lv_search.setTextFilterEnabled(true);
}
private void initView() {
tb_mytoolbar = (Toolbar) findViewById(R.id.tb_mytoolbar);
btn_ok = (Button) findViewById(R.id.btn_ok);
lv_search = (ListView) findViewById(R.id.lv_search);
btn_ok.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_ok:
Intent intent=new Intent(this,TwoActivity.class);
startActivity(intent);
break;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//加载菜单
getMenuInflater().inflate(R.menu.menu,menu);
MenuItem searchitem=menu.findItem(R.id.action_search);
SearchView searchView=(SearchView) MenuItemCompat.getActionView(searchitem);
searchView.setQueryHint("请输入要搜索的字符:");
//设置搜索文本监听
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
//当点击搜索按钮提交时触发
public boolean onQueryTextSubmit(String query) {
return false;
}
//当搜索内容发生改变时触发
@Override
public boolean onQueryTextChange(String s) {
if (!TextUtils.isEmpty(s)){
//TextUtils集成类的isEmpty方法
//如果搜索框不为空,启动listview控件的过滤,展示过滤后的数据
lv_search.setFilterText(s);
}
else{
//如果搜索框为空,清空文本过滤,展示所有数据
lv_search.clearTextFilter();
}
return false;
}
});
MenuItem shareitem=menu.findItem(R.id.action_share);
//得到分享的类
ShareActionProvider shareActionProvider= (ShareActionProvider)MenuItemCompat.getActionProvider(shareitem);
//通过意图进行分享
Intent intent=new Intent();
//设置意图的动作时发送信息
intent.setAction(Intent.ACTION_SEND);
//设置意图发送的数据
intent.putExtra(intent.EXTRA_TEXT,"测试");
//设置发送的数据类型是文本
intent.setType("text/plain");
//设置分享操作来实现发送
shareActionProvider.setShareIntent(intent);
return true;
}
}
activitytwo.java
package com.hnkjwlxy.androidch01;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.Button;
public class TwoActivity extends AppCompatActivity implements View.OnClickListener {
private Toolbar tb_mtb;
private Button btn_tothree;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two);
initView();
//加进去
setSupportActionBar(tb_mtb);
ActionBar actionBar=getSupportActionBar();
//设置APPbar的导航功能
actionBar.setDisplayHomeAsUpEnabled(true);
}
private void initView() {
tb_mtb = (Toolbar) findViewById(R.id.tb_mtb);
btn_tothree = (Button) findViewById(R.id.btn_tothree);
btn_tothree.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_tothree:
Intent intent=new Intent(this,ThreeActivity.class);
startActivity(intent);
break;
}
}
}
activitythree.java
package com.hnkjwlxy.androidch01;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
public class ThreeActivity extends AppCompatActivity {
private Toolbar toolbar;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_three);
initView();
setSupportActionBar(toolbar);
ActionBar actionBar=getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
}
private void initView() {
toolbar = (Toolbar) findViewById(R.id.toolbar);
}
}