android协调者布局CoordinatorLayout的问题

使用协调者布局CoordinatorLayout遇到难题了

在博客看过很多人写的CoordinatorLayout的Demo,但是我想要的效果是让toolbar的title不跟随滑动而变化,使他一直保持在顶部居中,但不知该如何处理,希望大神能只只招,在下感激不尽!
下面是博客中的图片效果!(让toolbar的title不滑动)
图片说明

再贴上我的demo代码:

布局文件:

 <?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"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

        <android.support.design.widget.AppBarLayout
            android:id="@+id/appbar"
            android:layout_width="match_parent"
            android:layout_height="256dp"
            android:fitsSystemWindows="true"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

            <android.support.design.widget.CollapsingToolbarLayout
                android:id="@+id/collapsingtoolbarlayout"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:fitsSystemWindows="true"
                app:contentScrim="?attr/colorPrimary"
                app:expandedTitleMarginEnd="64dp"
                app:expandedTitleMarginStart="48dp"
                app:layout_scrollFlags="scroll|exitUntilCollapsed">

                <ImageView
                    android:id="@+id/iv_image"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:fitsSystemWindows="true"
                    android:scaleType="centerCrop"
                    android:src="@drawable/header"
                    app:layout_collapseMode="parallax"/>

                <android.support.v7.widget.Toolbar
                    android:id="@+id/toolbar"
                    android:layout_width="match_parent"
                    android:layout_height="?attr/actionBarSize"
                    app:layout_collapseMode="pin"
                    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
            </android.support.design.widget.CollapsingToolbarLayout>

        </android.support.design.widget.AppBarLayout>

    <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <LinearLayout
            android:id="@+id/linearLayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:paddingTop="24dp">
        </LinearLayout>
    </android.support.v4.widget.NestedScrollView>

</android.support.design.widget.CoordinatorLayout>

 <?xml version="1.0" encoding="utf-8"?>
<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:cardCornerRadius="16dp"
        android:layout_marginLeft="10dp"
        android:layout_marginBottom="10dp"
        android:layout_marginRight="10dp"
        app:contentPadding="10dp"
        app:cardElevation="16dp">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="CardView"
                android:textAppearance="@style/TextAppearance.AppCompat.Title"/>

            <TextView
                android:id="@+id/tv"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textColor="#000"
                android:textSize="20dp"
                android:text="000"/>

        </LinearLayout>
    </android.support.v7.widget.CardView>
</FrameLayout>

activity:

 package com.jjq.coordinatorlayout;

import android.os.Bundle;
import android.support.design.widget.CollapsingToolbarLayout;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    private Toolbar mToolbar;
    private ArrayList<String> mData;
    private LinearLayout mLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        initData();
    }

    private void initData() {
        mData = new ArrayList<>();
        for (int i = 1; i < 50; i++) {
            mData.add(" 第" + i + "个item");
        }
        mLayout.removeAllViews();
        for (int i = 0; i < mData.size(); i++) {
            View view = View.inflate(MainActivity.this, R.layout.item_cardview, null);
            ((TextView) view.findViewById(R.id.tv)).setText(mData.get(i));
            //动态添加 子View
            mLayout.addView(view, i);
        }
    }

    private void initView() {
        mToolbar = (Toolbar) findViewById(R.id.toolbar);
        mLayout = (LinearLayout) findViewById(R.id.linearLayout);
        setSupportActionBar(mToolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

        CollapsingToolbarLayout toolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.collapsingtoolbarlayout);
        toolbarLayout.setTitle("我才是标题");
    }
}

3个回答

其实在23以上版本的design就有解决方案了,只可惜我们项目用的还是22.2.0的版本,改了会报错,算了,改个方式实现吧!

这不关协调布局的事情,这是CollapsingToolbarLayout的问题,CollapsingToolbarLayout是一个可折叠的ToolBar,所以你拉下来ToolBar也跟着下来,上去也跟着上去,具体怎么使用你可以去看我的置顶博客Degin

xiaoxiaobai_11
小小丶白 嗯,谢谢!我再研究研究
3 年多之前 回复

试试在协调者布局外嵌套帧布局,协调者布局下放个Textview,里面放标题,这样标题就悬浮在协调者布局的上面,就动不了了.

xiaoxiaobai_11
小小丶白 这个我试过了,这样是没用的,Toolbar上面的东西都显示不出来
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问