package com.zdsoft.toolbar1130;
import android.support.v4.content.ContextCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.Gravity;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private Toolbar tb;
private Button bt;
private DrawerLayout dl;
private TextView tv_content;
private ListView lv_menu;
private List<String> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initDate();
//按鈕監聽
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "你點擊了自定義按鈕", Toast.LENGTH_SHORT).show();
}
});
//ToolBar內menu監聽
tb.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.item_tz:
Toast.makeText(MainActivity.this, "通知", Toast.LENGTH_SHORT).show();
break;
case R.id.item_cx:
Toast.makeText(MainActivity.this, "查詢", Toast.LENGTH_SHORT).show();
break;
case R.id.item_zd:
Toast.makeText(MainActivity.this, "知道", Toast.LENGTH_SHORT).show();
break;
case R.id.item_gd:
Toast.makeText(MainActivity.this, "更多", Toast.LENGTH_SHORT).show();
break;
default:
break;
}
return false;
}
});
//Toolbar圖標監聽
tb.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (dl.isDrawerOpen(Gravity.LEFT)) {
dl.closeDrawer(Gravity.LEFT);
} else {
dl.openDrawer(Gravity.LEFT);
}
}
});
//ListView內menu監聽
lv_menu.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
tv_content.setText(list.get(position).toString());
dl.closeDrawer(Gravity.LEFT);
}
});
}
private void initView() {
tb = (Toolbar) findViewById(R.id.tb);
tb.setNavigationIcon(R.drawable.ic_drawer_home);//設置圖標按鈕
//設置標題及標題顏色
tb.setTitle("首頁");
tb.setTitleTextColor(ContextCompat.getColor(MainActivity.this, R.color.colorAccent));
tb.inflateMenu(R.menu.menu);//設置ActionMenu
bt = (Button) findViewById(R.id.bt);//實例化自定義控件
dl = (DrawerLayout) findViewById(R.id.dl);
tv_content = (TextView) findViewById(R.id.tv_content);
lv_menu = (ListView) findViewById(R.id.lv_menu);
}
private void initDate() {
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, getList());
lv_menu.setAdapter(adapter);
}
public List<String> getList() {
list = new ArrayList<String>();
for (int i = 0; i < 10; i++) {
list.add("第" + (i + 1) + "條");
}
return list;
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
android:id="@+id/tb"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary">
<Button
android:id="@+id/bt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="自定義" />
</android.support.v7.widget.Toolbar>
<android.support.v4.widget.DrawerLayout
android:id="@+id/dl"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tv_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center" />
<ListView
android:id="@+id/lv_menu"
android:layout_width="180dp"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:background="#ffffff">
</ListView>
</android.support.v4.widget.DrawerLayout>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/item_tz"
android:icon="@drawable/ic_notifications"
android:title="通知"
app:showAsAction="ifRoom" />
<item
android:id="@+id/item_cx"
android:icon="@drawable/ic_search"
android:title="查詢"
app:showAsAction="never" />
<item
android:id="@+id/item_zd"
android:icon="@drawable/ic_zhihu_logo"
android:title="知道"
app:showAsAction="never" />
<item
android:id="@+id/item_gd"
android:icon="@drawable/ic_menu_more_overflow"
android:title="更多"
app:showAsAction="never" />
</menu>