1

我有几个Activities都包含一个CustomView标题栏。我需要制作一个overridePendingTransition()动画Intent

有没有办法在将一个转换为另一个时不为标题栏设置动画View?就像让它只是粘在顶部......

希望你能理解我的问题!

编辑:

以下是其中之一的一些伪代码Acitvities

<LinearLayout>
  <CustomView />
  <Linearlayout>
    ... (other views)
  </LinearLayout>
</LinearLayout>

编辑二:

只是为了澄清我的问题:我有几个Activities都有相同的自定义标题栏。我需要为意图设置动画(从一个Activity到另一个)。我对任何逻辑都没有问题 - 我只需要标题栏保持在动画之前的位置。位置都是Activity一样的(在顶部)。

谢谢,

罗恩

4

2 回答 2

1

根据您对 Gagan 的评论,我认为您混淆了视图和活动。您可以拥有一个 Activity,它会膨胀并使用所有保存在自己的文件和类中的视图和布局。除非我遗漏了某些东西,否则您对视图的个人逻辑都可以分解,并且只要它们可以访问父上下文,它们就可以与父上下文进行通信(如果需要)。

如果您的意图是让所有这些“活动”共享屏幕空间(在某些配置中),那么您肯定会混淆概念并且没有真正掌握视图的工作原理......请记住,视图可以是可以包含的布局任意数量的孩子(以及你需要让他们做任何你需要他们做的任何业务逻辑)。

于 2012-10-30T10:30:22.550 回答
0

从您的问题来看,标题栏似乎具有您的Views. 在这种情况下,您可以考虑将标题栏Views从. 现在将标题栏的单个实例放在包含您的. 如下所示:CustomViewViewViewsCustomView

在此处输入图像描述

这样,当您从一个视图转换到另一个视图时,您的标题栏将保持静态并且不会设置动画。

[编辑 - 多个替代方案activities]

如果转换的选择不固定,那么您可以使用alpha animation从一个活动转换到另一个活动。我已经在我的一个应用程序中使用了它,并且按照您在查询中描述的那样工作。

创建alpha animation如下:

<?xml version="1.0" encoding="utf-8"?>
    <alpha xmlns:android="http://schemas.android.com/apk/res/android"
       android:interpolator="@android:anim/accelerate_interpolator"
       android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="500" />
于 2012-10-30T10:11:28.757 回答