注意導包
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);
}
}