Почему MaterialContainerTransform() не применяется из TextView во фрагмент?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Почему MaterialContainerTransform() не применяется из TextView во фрагмент?

Сообщение Anonymous »

Я пытаюсь реализовать MaterialContainerTransform(), следуя официальной документации.
У меня есть MainActivity с TextView. Когда пользователь щелкает TextView, я хочу анимировать TextView в новый StatsDetailFragment. Но, похоже, мне не удалось заставить его работать по инструкциям, приведенным в документации, поскольку при отображении StatsDetailFragment анимация не применяется. Вместо этого фрагмент сразу отображается при нажатии TextView.
Изображение

activity_main.xml MainActivity.java

Код: Выделить всё

class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// ...  enableEdgeToEdge()

val textView = findViewById(R.id.multiplicationText)
val statsDialogFragment = StatsDialogFragment()

textView.setOnClickListener {
supportFragmentManager
.beginTransaction()
.addSharedElement(textView, "SHARED_TRANSITION")
.replace(R.id.main, statsDialogFragment)
.addToBackStack(null)
.commit()
}
}
}
fragment_stats_dialog.xml StatsDialogFragment.java

Код: Выделить всё

class StatsDialogFragment : Fragment() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

sharedElementEnterTransition = MaterialContainerTransform()
}

override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
val rootView = inflater.inflate(R.layout.fragment_stats_dialog, container, false)
return rootView
}
}
Цель
Я хочу достичь чего-то похожего на третий пример. Как мне этого добиться, что мне не хватает/непонимание?

Подробнее здесь: https://stackoverflow.com/questions/790 ... o-fragment
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»