Articles of 共享元素转换

使用未转换的片段进行sharedElment转换

AndroidStudio 2.3 Beta 1 我试图让转换与片段一起工作,我使用的图像如何不转换。 它只是正常popup。 我已经创建了一个简单的应用程序来尝试让它工作。 我有2个片段ListMovieFragment和ListMovieFragment 。 和1个MainActivity 。 用户将单击ListMovieFragment的图像以转换为ListMovieFragment 。 这是我的Transition xml change_image_transform: ListMovieFragment: public class ListMovieFragment extends Fragment { public interface MovieSelectedListener { void onMovieSelected(int movieId); } private MovieSelectedListener mMovieSelectedListener; public ListMovieFragment() { } @Override public void onAttach(Context context) { super.onAttach(context); mMovieSelectedListener = (MovieSelectedListener)context; } @Override public void onDetach() { super.onDetach(); […]

Android共享元素转换前21

如何在21之前的设备中实现共享元素转换? 我或多或少地遵循了这里的指南http://antonioleiva.com/material-design-everywhere/但是我得到的错误就像“属性transitionName仅用于api 21级或更高级别”

使用共享元素在具有不同方向的活动之间转换

我有一个活动A,它以横向方向永久设置,活动B没有任何预定义的方向。 如果我从活动A开始活动B并且手机旋转处于横向角度,则共享元素转换正常工作,活动B按预期以横向方向启动。 如果在活动B开始期间电话旋转处于纵向角度,则会出现问题。然后,活动B以纵向方向(按预期方式)启动,但不会发生转换。 以前有人遇到过这个问题吗? 任何帮助,将不胜感激。 这是从活动A调用活动B的方式: Intent mIntent = new Intent(context, ActivityB.class); ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this, sharedView,sharedViewTransitionName); startActivity(mIntent,options.toBundle());

如何使SharedElement在片段内的viewPager片段中工作

我的情况是我只有一项活动。 首先,它显示了片段1,在该片段内,我有一个recyclerView来显示一个cardview列表,在每个CardView中,有一个图像。 当用户点击每个CardView时,fragment1将被片段2替换.Fragment2包含一个viewPager,viewpager在fragment1中显示与recyclerView相同的数据,但更具体。 我想在fragment1中的image1和fragment2中的image2之间创建一个shareElementanimation。 我做的是:recyclelerView的OnLickListener,我按项目的代码为image1设置transitionName image1.setTransitionName(item.getContentID().toString()); 替换framgent和addShareElement: fragmentTransaction .replace(R.id.fragment, sharedElementFragment2, FragmentEnum.FEED.toString()) .addToBackStack(null) .addSharedElement(image1,image1.getTransitionName()) .commit(); 在viewPager的片段中,我更新了image2,其中transitionName由片段1发送 @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); view.findViewById(R.id.image2).setTransitionName(feed.getContentID()+””); } 但它不起作用。 我试图将image2放在viewpager之外(直接在片段2下)并且它可以工作。 看来,当viewPager中的目标元素时,shareElement不起作用。 对此有何解决方案?

共享元素转换在第一个活动和第二个透明活动之间留下奇怪的白色背景

最近我遇到了一个奇怪的问题。 我有两个活动。 第一个包含带缩略图的网格。 一种画廊。 第二个包含一个带有片段的视图寻呼机,其行为类似于图像查看器,您可以在图像之间滑动。 我使用共享元素转换来启动第二个活动。 就像谷歌照片应用程序。 在第二个活动中,我可以向上或向下滑动以通过背景的淡出过渡来消除活动。 我让我的第二个活动完全透明: @color/palette_transparent @null true @android:style/Animation 但问题是当我将图像滑动到顶部/底部并且第二个活动的背景消失时,我可以看到白色背景而不是第一个活动。 如果我开始没有共享元素转换的第二个活动一切都很好。 我做了一个研究,发现这个白色层可能覆盖了第一个活动。 它不是第二个活动的一部分,正如我在Stetho视图层次结构中看到的那样。 可能我的解释不是很好,我的英语也没有,所以这里有几个video也澄清了我的问题。 video无转换和video转换

使用Android DataBinding进行共享元素转换

我正在使用Conductor API和Android DataBinding,并且一直在尝试从控制器视图到另一个控制器视图进行简单的共享元素转换,但它无法正常工作。 点击demoS列表中的“Android数据绑定”演示将带您进入一个屏幕,点击显示的textView应该将其转换到下一个屏幕。 但是现在它已经消失了。 这是我的事情,这里是相同的票 。 更新:我认为在BindedBaseController类中有些不对劲 ? public abstract class BindedBaseController extends Controller { private ViewDataBinding mViewDataBinding; protected BindedBaseController() { } protected BindedBaseController(Bundle args) { super(args); } protected abstract View inflateView(@NonNull LayoutInflater inflater, @NonNull ViewGroup container); @NonNull @Override protected View onCreateView(@NonNull LayoutInflater inflater, @NonNull ViewGroup container) { View view = inflateView(inflater, container); mViewDataBinding […]

ImageView共享元素转换(在Activity之间)以错误的scaleType开头

我在开始时发现了SimpleDraweeView 壁画的问题。 但是我用android ImageView替换后问题仍然存在。 所以我无法确定问题是由于Android还是仅仅是壁画。 问题是什么 第一个活动具有循环视图,每个视图都有一个ImageView(或SimpleDraweeView)。 想要的scaleType是“centerCrop” 第二个活动只有一个ImageView。 想要的scaleType是“fitCenter” 但是在我的私人项目中,以及在示例项目中。 https://github.com/JackFan-Z/ActivitySharedElementTransition ImageView以scaleType“fitCenter”开头,这是错误的。 我试图推迟共享元素转换,并在SharedElementCallback的回调中设置不同scaleType的共享元素。 但它们都没有真正起作用。 任何人都可以帮助弄清楚出了什么问题,或者在哪里调试? 问题的截图 第一个Activity的截图: 过渡的截图:

如何在Android 5.0上的活动之间转换时排除ActionBar

在Android 5.0 Lollipop上, 我有两个活动A和B.活动B有一个slie从底部进入过渡带有Overlay ActionBar,但是当B显示时,ActionBar也从下到上滑动。 如何阻止操作栏进行幻灯片切换。 系统操作栏有一个我可以添加到排除目标的ID吗? 谢谢!

是否有可能在viewpager中将共享元素从fragment转换为ViewPager

我有一个活动A有一个片段包含项目列表,该项目包含ImageView 当我单击项目时,我启动包含ViewPager片段的Activity B,在每个片段中有一个ViewPager包含Images我想要做的是在项目列表中的第一个ImageView和第一个图像之间进行共享元素转换显示在图像的viewpager中

退出转换不适用于片段中ViewPager中的ImageView共享元素

在我的应用程序中,我有一个Activity启动另一个带有Fragment的Activity,其中包含一个ViewPager图像。 我目前工作的是输入转换,其中第一个Activity启动第二个,转换是正确的。 这是有效的,因为在我的ViewPager中我放了一个OnPreDrawListener ,只在加载了寻呼机中的图像时才恢复活动转换。 它看起来像这样: public class ImagePagerAdapter extends PagerAdapter { // Constructor and other things.. @Override public Object instantiateItem(ViewGroup container, final int position) { ImageView imageView; if (position == 0) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { // Shared element is the first one. ViewCompat.setTransitionName(imageView, “sharedImage”); } } imageView = new ImageView(activity); // Just a […]