自定义ToolBar
布局
<android.support.design.widget.CoordinatorLayout
xmlns:android=“http://schemas.android.com/apk/res/android”
xmlns:toolBar=“http://schemas.android.com/apk/res-auto”
xmlns:tools=“http://schemas.android.com/tools”
android:layout_width=“match_parent”
android:layout_height=“match_parent”
tools:context=".MainActivity">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
toolBar:navigationIcon="@mipmap/ic_launcher"
toolBar:titleTextColor="?attr/colorPrimary"
toolBar:popupTheme="@style/AppTheme"
toolBar:subtitleTextColor="@color/colorPrimaryDark"
android:background="@color/colorPrimary"
/>
</android.support.design.widget.CoordinatorLayout>
新建menu
import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
public class MainActivity extends AppCompatActivity {
private Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取toolbar对象
toolbar = findViewById(R.id.toolbar);
//获取actionbar
setSupportActionBar(toolbar);
//设置是否显示主标题
getSupportActionBar().setDisplayShowTitleEnabled(true);
//设置标题
getSupportActionBar().setTitle("title");
//设置主标题颜色
toolbar.setTitleTextColor(Color.BLUE);
//设置子标题及子标题颜色
toolbar.setSubtitle("subtitle");
toolbar.setTitleTextColor(Color.RED);
//设置是否显示左侧的按钮
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
//给左侧的按钮添加点击事件
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MainActivity.this.finish();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//初始化我们的的菜单布局文件,添加道menu中
getMenuInflater().inflate(R.menu.menu,menu);
return super.onCreateOptionsMenu(menu);
}
//每次都会追加子菜单,未来防止重复追加,需要先调用
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
return super.onPrepareOptionsMenu(menu);
}
//菜单被选中的时候调用
@Override
public boolean onOptionsItemSelected(MenuItem item) {
return super.onOptionsItemSelected(item);
}
//关闭的时候调用
@Override
public void onOptionsMenuClosed(Menu menu) {
super.onOptionsMenuClosed(menu);
}
//打开的时候调用
@Override
public boolean onMenuOpened(int featureId, Menu menu) {
return super.onMenuOpened(featureId, menu);
}
}