天天看點

android中toolbar的使用--導航(2)

注意導包

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);
    }
}