我目前正在使用活动转换和共享元素。
我理解内容Transitions的工作原理。 当他们走A - >时,他们按此顺序播放B:
然后去B - >答:
为了能够一个接一个地看到所有这些转换,必须将以下两个属性设置为false:
现在开始使用共享元素转换!
我注意到,无论配置如何,都不会播放Transition SharedElement 退出转换。
无论如何,始终使用的SharedElement Enter 转换。
到目前为止,我尝试过:
在所有这些情况下,ShareElement 退出过渡从不使用!
提前感谢您的回答。
答案 0 :(得分:4)
SharedElementExitTransition用于在将共享元素移动到被调用的Activity之前对共享元素执行某些操作。例如,您可能希望在被调用的Activity接管之前将其抬起并移动到屏幕的中心。
重要的是,在调用void Main()
{
string myXML = @"
<x>
<paths>
<entry path=""C:\Users\Simon\AppData\Roaming\myprogram"" />
<entry path=""C:\Users\Simon\AppData\Roaming\yourprogram"" />
<entry path=""C:\Users\Simon\AppData\Roaming\hisprogram"" />
<entry path=""C:\OtherFolder\DummyProgram"" />
<entry src=""C:\OtherFolder\DummyProgram"" />
</paths>
<Other>Other</Other>
</x>";
XDocument doc = XDocument.Parse(myXML);
doc.Descendants("entry")
.Where(xd => xd.Attribute("path") != null &&
((string)xd.Attribute("path")).ToLower().Contains("appdata"))
.ToList()
.ForEach(e => {
var oldPath = (string)e.Attribute("path");
var newPath = @"#{APPDATA}\" + Path.GetFileName(oldPath);
e.Attribute("path").SetValue(newPath);
} );
Console.WriteLine( doc.ToString() );
}
后执行共享元素退出转换。因此,您必须在此时对共享元素进行更改。基本上,你这样做:
startActivity
然后共享元素退出转换将执行,并且不会传输共享元素,直到它完成。很少使用共享元素退出转换。