我实现的片段如下:
代码示例如下所示:
/*This code does not show animation*/
getChildFragmentManager()
.beginTransaction()
.addSharedElement(transitionView, ViewCompat.getTransitionName(transitionView))
.replace(R.id.fragment_container, categoryDetailChildFragment)
.addToBackStack(TAG)
.commit();
显示动画的代码是:
getFragmentManager()
.beginTransaction()
.addSharedElement(transitionView, ViewCompat.getTransitionName(transitionView))
.replace(R.id.fragment_container, categoryDetailChildFragment)
.addToBackStack(TAG)
.commit();
为什么getChildFragmentManager()时没有共享转换?请帮助任何人。
从15:00到17:00观看此视频片段技巧(Google I/O’17)
我也有同样的问题。就这么做吧!
在onCreateView方法中:
postponeEnterTransition();
final ViewGroup group = inflater.inflate(R.layout.layout_to_inflate,container,false);
ViewTreeObserver.OnGlobalLayoutListener treeObserver = new ViewTreeObserver.OnGlobalLayoutListener(){
@Override
public void onGlobalLayout() {
startPostponedEnterTransition();
group.getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
}
group.getViewTreeObserver().addOnGlobalLayoutListener(treeObserver);
确保在调用addSharedElement()片段事务调用时调用setReorderingAllowed(true)!
尝试一下,动画应该会运行顺畅。我知道Android片段不容易处理!
每个片段都有自己的子片段管理器。因此,如果您在另一个片段中有多个嵌套片段,您应该引用同一个片段的子片段管理器,您在其中使用addSharedElement()。
因此,如果您有:
ActivityA
|_ FragmentB
|_ FragmentC
|_ FragmentD
您应该使用uppest公共片段的getChildFragmentManager()-在本例中,片段B用于片段C和片段D,以确保每个嵌套片段引用相同的fragmentManager。这就是为什么在使用activity的fragmentManager时它会起作用,因为只有一个activity,并且每个activity都使用getActivity()引用同一个activity
要在嵌套片段中获取父片段,您可以在嵌套片段的onAttach()方法上使用get家长片段()。您还可以将其强制转换为FragmentB等特定类:
override fun onAttach(context: Context) {
super.onAttach(context)
val fragment: FragmentB = parentFragment.parentFragment.parentFragment... as FragmentB
}
当我使用片段“replace”时,新的共享元素转换可以工作,但我似乎无法使它在片段“add”中工作。我在这两种情况下使用相同的容器。 更多详情: 活动-布局- 在活动启动时,我将Fragment1添加到屏幕上 在Fragment1布局中视图的单击事件上- } 我在两个片段的布局中都有这个图像视图 现在,如果我使用添加第二个片段,但是如果我使用。如何使其与add()一起工作?有可能吗?
在我的Laravel应用程序中,我需要定期使用Guzzle将数据发送到API。 API使用承载令牌进行身份验证,并请求和接受原始JSON。为了进行测试,我使用Postman访问了API,一切都工作得很好。
我想通过聊天Id获得用户和组之间的聊天次数。但查询没有给出聊天次数。它是空白的。我在堆栈溢出(Laravel Elount groupBy()和count,Laravel get count of results Basin groupBy)中也看到过类似的问题,并使用了那些标记为正确但仍然没有得到所需结果的查询。 我使用以下查询: 我的表格结构如下: 结果是这样的: )
我想从Spring Boot应用程序创建一个war文件,我可以将其部署到独立的Tomcat容器中,而不是使用嵌入式容器。 我可以创建war文件,并使用单独运行它,它工作得很好。 我使用(使用Gradle、Tomcat7、Java1.7)构建了应用程序。 但当我将war文件部署到独立的Tomcat并启动它时,根据日志显示,应用程序似乎没有错误地启动,但我无法访问任何资源,控制器URL也无法工作。 当
错误:org.apache.hive.service.cli.hivesqlexception:处理语句时出错:失败:执行错误,从org.apache.hive.service.cli.operation.operation.toSqlexception(operation.java:380)(org.apache.hive.service.cli.operation.sqloperation.r
3)使用REST客户端 将response_resclient.code 对于1和2,两者都是正确的。它们都返回状态201,登录成功,但使用3-REST_Client失败。状态为404 REST_Client: 对于Rest-client gem,它在向mysite.vn发送post请求后返回404错误,代码为443。我对这个案子没有理想。请你帮我解释一下这个案子好吗。如何用REST客户端纠正这个