共享元素转换活动

时间:2017-12-29 09:27:53

标签: java android android-animation

我在两个活动之间使用shared element transition。在新活动中,我使用shared preferences设置共享视图的值。但这是第一次使用动画时没有出现这些值。从第二次开始,价值出现了。没有动画,一切都很好。

Intent intent = new Intent(getActivity(), ProfileActivity.class);
ActivityOptionsCompat optionsCompat=ActivityOptionsCompat.makeSceneTransitionAnimation(mActivity,(View) v_profile,getString(R.string.mobile));
                startActivity(intent,optionsCompat.toBundle());

并在个人资料activity.xml

<android.support.v7.widget.CardView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                card_view:cardElevation="10dp"
               android:layout_margin="10dp"
                android:id="@+id/profile_Cardview"
                android:transitionName="@string/mobile"
                >
                 <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:padding="15dp">
                <TextView
                android:id="@+id/mobile_no"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="start"
                android:text="@string/mobile"
                style="@style/light_text"
                android:layout_marginBottom="4dp"

                />


            <TextView
                android:id="@+id/pf_tv_mobile_no"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="start"
                android:layout_marginBottom="4dp"
                android:singleLine="true"
                style="@style/light_text"

                />

            <View
                android:layout_height="1dp"
                android:layout_width="match_parent"
                android:background="@color/grey"
                android:layout_marginBottom="8dp"
                />


            <TextView
                android:id="@+id/pf_tv_agency_label_"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="start"
                android:text="@string/agency_label"
                style="@style/light_text"
                android:layout_marginBottom="4dp"

                />


            <EditText
                android:id="@+id/pf_tv_agency_name"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="start"
                android:layout_marginBottom="4dp"
                android:singleLine="true"
                android:inputType="text"
                style="@style/normal_text"
                />


            <TextView
                android:id="@+id/pf_tv_mobile_label"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="start"
                android:text="@string/paytm"
                style="@style/light_text"
                android:layout_marginBottom="4dp"

                />


            <EditText
                android:id="@+id/pf_tv_paytm_no"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="start"
                android:layout_marginBottom="4dp"
                android:singleLine="true"
                android:inputType="text"
                style="@style/normal_text"
                />


            <!--  <View
                  android:layout_height="1dp"
                  android:layout_width="match_parent"
                  android:background="@color/grey"
                  android:layout_marginBottom="8dp"
                  />-->


            <TextView
                android:id="@+id/pf_tv_agency_label"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="start"
                android:text="@string/bhim_label"
                style="@style/light_text"
                android:layout_marginBottom="2dp"
                />



            <EditText
                android:id="@+id/pf_tv_bhim_no"
                style="@style/normal_text"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="start"
                android:singleLine="true"
                android:layout_marginBottom="8dp"
                android:inputType="text"
                />
            </LinearLayout>
</android.support.v7.widget.CardView>

我正在设置sharedpreferences的edittext值。

1 个答案:

答案 0 :(得分:1)

我已经解决了。一旦我聚焦第一个edittext,数据就会显示出来 rootView.(findViewById(R.id.pf_tv_agency_name)).requestFocus()中的onActivityCreated()。这些领域正在填补。