Android изменить цвет текста панели инструментов с прокруткой - PullRequest
0 голосов
/ 25 марта 2019

Я пытаюсь анимировать заголовок CollapsingToolbarLayout с помощью прокрутки. Моя цель - анимировать текстовую позицию по центру, сейчас текст анимирует левую сторону. Вот мой код xml

Моя цель - получить вот такой результат.Я бы изменил текст CollapsingToolbarLayout с текстом панели инструментов по центру, а также я бы изменил цвет фона панели инструментов с позицией прокрутки.

Как я могу решить эту проблему?спасибо

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent">

<android.support.design.widget.AppBarLayout
    android:id="@+id/appBarLayout"
    android:layout_width="match_parent"
    android:layout_height="321dp"
    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"
        app:contentScrim="?attr/colorPrimary"
        app:expandedTitleGravity="bottom|center_horizontal"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">

        <ImageView
            android:id="@+id/imageViewCollapsing"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="centerCrop"
            android:src="@drawable/winterscenery"
            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="parallax"
            android:background="#ff00"
            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"
    android:padding="8dp"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">

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

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/content_text_one" />

        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/content_button" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/content_text_two" />

    </LinearLayout>

</android.support.v4.widget.NestedScrollView>

1 Ответ

0 голосов
/ 25 марта 2019

Попробуйте это для любых изменений в CollapsingToolbarLayout. сделать стиль ..

<style name="coll_toolbar_title">
    <item name="android:textColor">@color/primary</item>
    <item name="android:textSize">@dimen/_13sdp</item>
</style>

затем установите .. используя идентификатор ..

collapseLayout.setCollapsedTitleTextAppearance(R.style.coll_toolbar_title)

управлять прокруткой, чтобы изменить здесь, вы можете изменить фон панели инструментов ...

appBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {
    boolean isShow = true;
    int scrollRange = -1;

    @Override
    public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
        if (scrollRange == -1) {

        }
        if (scrollRange + verticalOffset == 0) {
            // expend
            collapsingToolbarLayout.setTitle("Title");
            isShow = true;
        } else if(isShow) {
            // collepse
            collapsingToolbarLayout.setTitle(" ");//carefull there should a space between double quote otherwise it wont work 
            isShow = false;
        }
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...