一.ToolBar
1.首先在xml声明
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar_news_details"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"//安照actionBar的高度
app:popupTheme="@style/ToolbarPopupTheme" //Menu的主题
app:layout_collapseMode="pin" // 是否隐藏导航箭头
>
<TextView
android:id="@+id/title_news_datails"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
2.在res新建menu文件夹添加如下xml:
<?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/open_on_browser"
android:icon="@drawable/ic_launcher"
android:title="在浏览器中打开"
app:showAsAction="never"/>
<item android:id="@+id/share"
android:icon="@drawable/ic_launcher"
android:title="分享"
app:showAsAction="never"/>
<item android:id="@+id/refresh"
android:icon="@drawable/ic_refresh_white_18dp"
android:title="刷新"
app:showAsAction="always"/>
<item android:id="@+id/copy_url"
android:icon="@drawable/ic_launcher"
android:title="复制网址"
app:showAsAction="never"/>
</menu>
//关于shownAsAction可以自行百度
3.代码中实现:
private void initToolbar() {
mTitleNewsDatails.setText(mTitle);
mToolbarNewsDetails.inflateMenu(R.menu.news_details_menu);
mToolbarNewsDetails.setNavigationIcon(R.drawable.ic);
mToolbarNewsDetails.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
mToolbarNewsDetails.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
int itemId = item.getItemId();
switch (itemId) {
case R.id.open_on_browser:
break;
case R.id.share:
break;
case R.id.refresh:
break;
case R.id.copy_url:
break;
default:
break;
}
return false;
}
});
二.可以折叠的ToolBar
//只改变xml即可:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_news_details"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/toolbarlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp"
app:layout_scrollFlags="scroll|enterAlways"
>
<!--app:layout_scrollFlags="scroll|exitUntilCollapsed"-->
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar_news_details"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/ToolbarPopupTheme"
app:layout_collapseMode="pin">
<TextView
android:id="@+id/title_news_datails"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>