android - 从 ScrollView 中的元素更改 z 顺序

标签 android android-layout

我在更改 ScrollView 中 View 的 Z 顺序时遇到问题。

我希望我能正确解释我的用例。

用例如下:

我有一个线性布局 LL 的 scrollView SV。

在 LL 中我添加了几个 View 。这些 View 是 RelativeLayouts RL,内部有 2 个 ImageView (IMG1 和 IMG2)。 IMG1 可见,IMG2 不可见。

当我触发某个 Action 时,我为消失的 imageView IMG2 设置动画,使其向右滑动。它在 IMG1 的后面滑动,只显示超过 IMG1 宽度的部分。没关系,这就是我想要的。

除了一件事,我一切正常:我希望 IMG2 位于 IMG1 的后面(就像现在一样),但在 ScrollView 内所有其他 RL 的前面。

我认为我的问题可以归结为以下几点:如何更改 ScrollView 中 View 的 Z 顺序?因为如果我可以在 scrollView 内对 RL 进行 z 排序(按我的意愿放在前面或发送到后面),这个用例将起作用。

从我的测试中,我看到 View 的 z 顺序与我将 View 添加到 ScrollView 的顺序相同,但这破坏了我的情况,因为我需要将 View 置于前面或将 View 发送到后面想要。

我尝试了 bringToFront 和 bringChildToFront 的所有方法,但没有任何效果。

有没有办法做到这一点?

最佳答案

我还没有尝试过,但我建议使用 removeView(v) 然后使用 addView(v, index) 来删除 subview ,然后重新- 将其插入订单堆中的所需位置。这可能是解决问题的一种极其重量级的方法,但它可能会奏效。

关于android - 从 ScrollView 中的元素更改 z 顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8930438/

相关文章:

android - 如何使用拉边手势调整 View 大小?

android - 从 Android Studio 中删除应用程序的栏标题

android - Android 中的 Material 形式

java - 尝试在空对象引用上调用虚拟方法 'void com.jayfang.dropdownmenu.DropDownMenu.setmMenuCount(int)'

java - 将 Android 应用程序连接到网络服务器的最原生方法是什么?

android - 应用程序中心:构建失败-找不到gradleWrapperMain

android - EditText 填充属性对 API 19 和 21 的作用不同

android - 通缉 : TableLayout-Like ListView

android - listView 项目在 android 2.3 的滚动中消失

android - edittext 光标和编辑区域不显示