ToolBar使用记录

一.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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值