Android TextInputLayout transitionName и transitionGroup - какова цель? - PullRequest
0 голосов
/ 10 мая 2018

Я смотрю на проект аутентификации firebaseUI

и я вижу несколько TextInputLayouts, которые ссылаются на transitionName и transitionGroup, но я пока не могу найти в Интернете ничего, что помогло бы мне понять, как их использовать и какова истинная цель:

вот пример, пожалуйста, посмотрите на android.support.design.widget.TextInputLayout's:

    <?xml version="1.0" encoding="utf-8"?>
<ScrollView
    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:layout_width="match_parent"
    android:fillViewport="true"
    android:layout_height="match_parent">

    <RelativeLayout
        style="@style/FirebaseUI.WrapperStyle">

        <TextView
            android:id="@+id/tv_title"
            fontPath="fonts/Medium-Extd.otf"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dp"
            android:layout_marginBottom="60dp"
            android:text="@string/fui_welcome"
            android:textAllCaps="true"
            android:focusable="false"
            android:clickable="false"
            android:textColor="#ffffff"
            android:layout_centerHorizontal="true"
            android:textSize="14sp"
            android:textStyle="bold"
            tools:ignore="MissingPrefix"
            tools:text="welcome" />

        <android.support.design.widget.TextInputLayout
            android:id="@+id/email_layout"
            style="@style/FirebaseUI.TextInputLayout.EmailField"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:transitionGroup="true"
            android:transitionName="@string/fui_email_field_name"
            android:layout_below="@+id/tv_title"
            app:errorEnabled="true"
            tools:ignore="UnusedAttribute">

            <android.support.design.widget.TextInputEditText
                android:id="@+id/email"
                android:textColor="@color/fui_white"
                tools:text="johndoe@msn.com"
                style="@style/FirebaseUI.TextInputEditText.EmailField" />

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

        <android.support.design.widget.TextInputLayout
            android:id="@+id/name_layout"
            android:layout_below="@+id/email_layout"
            style="@style/FirebaseUI.TextInputLayout.NameField"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dp"
            app:errorEnabled="true">

            <android.support.design.widget.TextInputEditText
                android:id="@+id/name"
                style="@style/FirebaseUI.TextInputEditText.NameField"
                android:layout_width="match_parent"
                tools:text="john doe"
                android:maxLines="1"
                android:layout_height="wrap_content" />

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

        <android.support.design.widget.TextInputLayout
            android:id="@+id/password_layout"
            style="@style/FirebaseUI.TextInputLayout.PasswordField"
            android:layout_width="match_parent"
            android:layout_below="@id/name_layout"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/fui_field_padding_vert"
            app:errorEnabled="true"
            app:passwordToggleTint="@color/fui_white"
            app:passwordToggleEnabled="true">

            <android.support.design.widget.TextInputEditText
                android:id="@+id/password"
                tools:text="123456789"
                style="@style/FirebaseUI.TextInputEditText.PasswordField" />

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

        <TextView
            android:id="@+id/create_account_text"
            style="@style/FirebaseUI.Text.BodyText"
            android:focusable="false"
            android:layout_below="@+id/password_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/fui_field_padding_vert"
            android:textIsSelectable="false"
            tools:text="@string/fui_create_account_preamble_tos_and_pp" />

        <Button
            android:id="@+id/button_create"
            style="@style/FirebaseUI.Button"
            android:layout_width="match_parent"
            android:layout_height="43dp"
            android:text="@string/fui_signup"
            tools:text="sign up"
            fontPath="fonts/Medium-Extd.otf"
            android:textColor="@color/fui_black"
android:layout_below="@id/create_account_text"
            tools:ignore="MissingPrefix,RtlHardcoded" />

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom|center_horizontal"
            app:srcCompat="@drawable/fui_mylogo"
            android:layout_centerHorizontal="true"
            android:layout_alignParentBottom="true"
            />
    </RelativeLayout>

</ScrollView>

Я пытался не использовать их, но я не могу сказать, что он делает до сих пор.

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

Оба они имеют дело с общим переходом элемента. Переход содержит информацию об анимации, которая будет выполняться на его целях во время смены сцены. На основании документации:

transitionName

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

Это в основном название вашего View, которое будет использоваться для идентификации во время Переходов.

isTransitionGroup

Должен ли ViewGroup рассматриваться как элемент в Activity переходы. Если false, ViewGroup не будет переходить, только его дети. Если это правда, вся ViewGroup будет переходить вместе.

Определяет, должна ли характеристика Перехода быть наложена на ViewGroup в целом только на ребенка группы.

0 голосов
/ 10 мая 2018

transitionGroup и transitionName используются для общих переходов между различными макетами. Ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...