共享元素过渡不适用于按钮文本

时间:2019-08-25 09:56:56

标签: android xml kotlin

我在两个片段之间共享按钮的元素转换时遇到问题。 我正在使用导航组件在片段之间移动。

这是第一个片段中按钮的代码:

<Button
            android:id="@+id/introduction_next_button"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/introduction_button"
            android:padding="15dp"
            android:layout_margin="25dp"
            android:layout_alignParentBottom="true"
            android:text="@string/introduction_next_button_text"
            android:textColor="@color/introduction_next_button_text_color"
            android:textSize="@dimen/introduction_button_text_size"
            android:transitionName="introduction_next_button" />

这是第二个片段中按钮的代码。

<Button
            android:id="@+id/introduction_next_button"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@drawable/introduction_button"
            android:layout_margin="10dp"
            android:transitionName="introduction_next_button"
            android:text="@string/introduction_next_button_text"
            android:textColor="@color/introduction_next_button_text_color"
            android:textSize="@dimen/introduction_button_text_size" />

如您所见,我更改了尺寸,边距和填充。

这是第一个片段的代码:

introduction_next_button.setOnClickListener {
        val extras = FragmentNavigator.Extras
            .Builder()
            .addSharedElement(introduction_next_button, "introduction_next_button")
            .build()

        findNavController(this)
            .navigate(
                R.id.action_introductionFragment1_to_introductionFragment2,
                null,
                null,
                extras
            )
    }

这是第二个片段的代码:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    sharedElementEnterTransition = TransitionInflater.from(context).inflateTransition(android.R.transition.move)
}

过渡效果很好,但是按钮的文本出现问题,一旦开始动画并且不跟随动画,该按钮的文本会跳到0,0(相对于按钮)。 您可以在所附的图像中看到它。 enter image description here

有什么建议吗?

也许我使用的android.R.transition.move需要一些调整?

致谢

0 个答案:

没有答案