- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我有一个嵌套布局,如下所示:
<LinearLayout> <!----Parent layout--->
<LinearLayout> <!-----child 1--->
...
</LinearLayout> <!----child 1 ended--->
<LinearLayout> <!-----child 2--->
...
</LinearLayout> <!----child 2 ended--->
</LinearLayout> <!----Parent endded--->
我现在遇到的问题是,由于我的所有数据项都在子 1 或子 2 Linearlayout
内,如果我添加或删除一个项,子线性布局将使用 animateLayoutChanges 的效果进行动画处理,但是父布局不会做任何动画。 (对于所有线性布局,我将 android:animateLayoutChanges
设置为 true
)。尤其是当我删除 child 1 中的一个项目时,动画效果变得很奇怪(基本上 child 2 会跳起来,而 child 1 仍在做动画)。
有人知道如何解决这个问题吗?
谢谢
更新
在我发布这个问题后不久,我在 LayoutTransition API 的 android 开发者网站上找到了这个。
Using LayoutTransition at multiple levels of a nested view hierarchy may not work due to the interrelationship of the various levels of layout.
那么有人对此问题有任何解决建议吗?
最佳答案
animateLayoutChanges
属性使用 LayoutTransitions
,它为布局的子级以及从 Android 4.0 开始的布局层次结构中的祖先设置动画,一直到顶部那个树。在 Honeycomb 中,只有布局的子元素会被动画化。见 this Android Developers Blog post了解详情。
不幸的是,目前似乎没有简单的方法可以让布局的 sibling 对其LayoutTransitions
使用react。您可以尝试使用 TransitionListener
在布局边界发生更改时获得通知,并使用动画器相应地移动同级 View 。请参阅 Chet Haase 在 this Google+ post 中的第二个答案.
EDIT - 原来是 一种方法。在 Android 4.1+(API 级别 16+)中,您可以使用默认禁用的布局转换类型 CHANGING
。在代码中启用它:
ViewGroup layout = (ViewGroup) findViewById(R.id.yourLayout);
LayoutTransition layoutTransition = layout.getLayoutTransition();
layoutTransition.enableTransitionType(LayoutTransition.CHANGING);
因此,在您的示例中,要为子 2 布局设置动画,您需要为其启用 CHANGING
布局转换。当其父对象的边界发生变化时,将应用转换。
见 this DevBytes video了解更多详情。
关于android - animateLayoutChanges 不适用于嵌套布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20103888/
我有一个嵌套布局,如下所示: ... ... 我现在遇到的问题是,由于我的所有
我通过向 XML 添加 animateLayoutChanges 来利用 LinearLayout 的自动(内置)动画。 效果很好。 但是,当我将 Animation.AnimationListene
我在我的代码中设置了 animateLayoutChanges=true 来为我的 fragment 中的选项项目设置动画。 当我打开 PreferenceFragment 时,我启用向上导航图标,然
listView 是一个 ViewGroup,似乎是进行动 Canvas 局更改的理想选择。但是,它似乎无视标志或手动构建 LayoutTransition 并以这种方式进行设置。是什么赋予了?没有任
假设我有一个结构如下的布局文件: 我想动态地将文本字段添加到 Layout insertionPoint 并且我想看到它下面的元素(在本例中为 h
我有一个屏幕,其中包含 Recyclerview 和 LinearLayout 内的其他元素。问题是当我删除 RecyclerView 的项目时,animateLayoutChanges 在这种情况下
我有一个 RecyclerView,用户可以在其中选择一个项目。选择后,某些 View 在文本之前变得可见(见图)。我想为它的外观制作动画。 项目布局上的 animateLayoutChanges 属
在我的布局 XML 文件中: 当我添加一个 View 和这个布局并删除它时,我可以看到淡入和淡出效果。但是,我只需要淡入效果。谁能告诉我该怎么做? 最佳答案 您应该从布局 XML 文件中删除 ani
我正在以编程方式创建线性布局,并希望它们在可见性设置为可见/消失时淡入和淡出。 我可以设置 android:animateLayoutChanges="true" 在 xml 文件中,但由于我是以编程
我有一个 FrameLayout,我用 fragment 替换了 Activity 创建,在其中我显示和隐藏了一些布局动画更改的 View ,这很好用,但是我有一个 FloatingActionBut
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 关于您编写的代码问题的问题必须在问题本身中描述具体问题 — 并且包括有效代码 以重现它。参见 SSC
我猜我忽略了一些简单的事情,但我没有看到。 我有一组从 visibility.gone 过渡到 visibility.visible 的 ImageView ,但是当我从我的代码中设置属性时, Ima
我一直在尝试在我的 Android 应用程序中使用协调器布局。我在协调器布局中有一个应用栏布局和一个嵌套 ScrollView 。在我的嵌套 ScrollView 中,我有一个线性布局,其中 anim
我已将 android:animateLayoutChanges 设置为 true 我的 LinearLayout: 然后,我运行以下命令来设置元素消失的动画。 TextView line; ..
当我将 animatedLayoutChanges="true"添加到我的父布局时,子布局的 alpha 不再起作用: // 有人知道为什么会这样吗?我该怎么办? 最佳答案
对于橙色部分,我在其 LinearLayout 上使用 android:animateLayoutChanges="true" 和 setVisibility(visible/gone) 来实现展开动
这与“以编程方式进行 animateLayoutChanges”不重复。 我想要 View 上的默认动画效果发生变化除了删除对象时的淡出效果。我无法使用 disableTransitionType()
我看到在 xml 布局中使用的这个语句会自动为您制作动画。我想将它添加到我的应用程序中,但是当我将它放入我想要的布局中时 然后我将可见性更改为消失 view.findViewById(R.id
在我的 Android 应用程序中,我在 ScrollView 中有一个表单,由通过单选按钮回答的一系列问题组成。每当用户按下单选按钮时,下一个问题就会从底部显示出来。对于新问题的动画,我使用了 xm
我想要将 ViewGroup (LinearLayout) 从“消失”设置为“可见”。 ViewGroup 包含两个元素,它们分别进行动画处理。是否可以以动画将它们视为一个元素的方式对它们进行“分组”
我是一名优秀的程序员,十分优秀!