1
我的目標是在片段之間創建片段之間的內容切換,其中將Fade()和Slide()應用於片段中的一個視圖。在執行轉換時(在這種情況下爲exitTransition),視覺效果不是視圖同時滑動和淡入淡出,而是視圖重複,一個副本滑動,另一個副本消失。將transitionSet應用於片段中的單個視圖內容轉換會產生重複的視圖效果
一些代碼:
Fragment currentFragment = getSupportFragmentManager().getFragments().get(0);
Fragment fragment = EmailSearchFragment.newInstance();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
fragment.setEnterTransition(new Slide(Gravity.RIGHT));
currentFragment.setExitTransition(TransitionInflater.from(this).inflateTransition(R.transition.slide_and_fade));
}
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.fragment_container, fragment)
.addToBackStack(null)
.commit();
這裏過渡:
public class DetailsTransition extends TransitionSet {
public DetailsTransition() {
init();
}
/**
* This constructor allows us to use this transition in XML
*/
public SlideAndFadeTransitionSet(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
private void init() {
setOrdering(ORDERING_TOGETHER);
addTransition(new Fade()).
addTransition(new Slide(Gravity.TOP));
}
}
而且,這裏的XML針對一個單一視圖過渡:
<?xml version="1.0" encoding="utf-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android" class="com.adidas.connect.app.transition.DetailsTransition">
<targets>
<target android:targetId="@id/social_buttons"/>
</targets>
</transition>
我也曾嘗試要使用XML中的轉換集,但我得到了相同的結果,所以我將轉換集移到了新的類t中o確保針對單個視圖的xml語法沒有問題。
有沒有人做這個工作?
在此先感謝!