android.support.v7.widget.Toolbar的针对于Activity的用法
1、配置
ToolBar要求我们的Activity主题必须是NoActionBar,所以在我们的appTheme设置为
<!-- BaseTheme -->
<style name="BaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
其次是我们的布局toolbar.xml,按照我们的布局特性可以自行定制和添加监听
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:background="@color/colorPrimary"
>
<RelativeLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tv_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:singleLine="true"
android:text="title"
android:textColor="@android:color/white"
android:textSize="20sp"
android:layout_marginRight="15dp"
/>
<TextView
android:id="@+id/tv_title_more"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp"
android:text="title right"
android:textColor="@android:color/white"
android:textSize="20sp"
android:visibility="gone"
/>
</RelativeLayout>
</android.support.v7.widget.Toolbar>
最后是我们的BaseActivity的配置如下:
@BindView(R.id.toolBar)
Toolbar mToolbar;
@BindView(R.id.tv_title)
TextView mTitleTv;
@BindView(R.id.tv_title_more)
TextView mTitleRightTv;
public FragmentManager mFm;
/***************** Toobar ******************/
public void initTitle(String title){
setSupportActionBar(mToolbar);
mToolbar.setNavigationIcon(android.support.v7.appcompat.R.drawable.abc_ic_ab_back_material);
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
popBack();
}
});
mTitleTv.setVisibility(View.VISIBLE);
mTitleTv.setText(title);
getSupportActionBar().setDisplayShowTitleEnabled(false);
}
public void setTitleRight(String title,View.OnClickListener listener){
mTitleRightTv.setVisibility(View.VISIBLE);
mTitleRightTv.setText(title);
mTitleRightTv.setOnClickListener(listener);
}
public void popBack() {
mFm = getSupportFragmentManager();
if (mFm.getBackStackEntryCount() > 0)
mFm.popBackStack();
else
finish();
}
/***************** Toobar ******************/
2、使用
每一个Activity中我们必须在其布局xx.xml文件添加一个
<include
android:id="@+id/toolBar"
layout="@layout/toolbar"/>
最后调用方法 initTitle("痛痛痛!!!");
3 、效果图
toobar.png
网友评论