在没有闪光灯的活动之间切换

Posted

技术标签:

【中文标题】在没有闪光灯的活动之间切换【英文标题】:Switching between activities with no flash 【发布时间】:2016-04-30 07:59:52 【问题描述】:

我一直在努力寻找这个问题的答案,但找不到任何答案。 我的问题是我创建了一个带有 5 个按钮的 XML 文件,每个按钮都链接到另一个 xml 文件。单击后,该按钮会将您带到下一个 xml 文件,该文件在同一位置具有相同的 5 个按钮。我面临的问题是,当页面切换时,会出现轻微的黑色闪光。然后有第二个工具栏加载。如何解决这个恼人的延迟并使其流畅?

【问题讨论】:

为什么不只更改当前活动中的按钮属性(颜色、必要时的文本、onclick 侦听器)?您是否将 PendingTransition 覆盖为无动画? @aelimill 是的,所以我有一个带有一行代码的主题,可以删除任何动画。以前,页面会跳起来。现在,它保持平坦,这很好,但加载按钮和工具栏显然需要一秒钟。有什么解决办法吗?有没有办法将所有内容都包含在一个 content_main.XML 中?每个按钮都有一个不同的 XML 文件 您可以在其他xml中重用带有的XML组件。我不知道您的应用程序的逻辑,但是您可以删除,例如,带有按钮的容器并添加另一个。或者重写片段 @aelimill 是的。因此,我有主要活动和包含在主要活动中的主要内容。然后我有一个名为 ActivityMain 的 Java 文件。 Java 文件的每个按钮在单击时都链接到另一个 Java 文件。每个其他 Java 文件几乎都是与主文件相同的克隆,并且每个都调用几乎相同的 XML 文件,这些文件具有不同的按钮和不同的页面内容。 【参考方案1】:

您可以简单地在布局 xml 文件之间进行更改,而不是在活动之间切换。

xml布局1

<Button
    android:layout_
    android:layout_
    android:text="New Button"
    android:id="@+id/button"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"
    android:onClick="newLayout"/>

java代码

 public void newLayout(View view) 
    setContentView(R.layout.new_layout);


【讨论】:

以上是关于在没有闪光灯的活动之间切换的主要内容,如果未能解决你的问题,请参考以下文章

如何检查设备是不是有分别用于前置和后置摄像头的闪光灯?

C++ Opengl - 使用聚光灯照明

Android Camera2 拍照——切换摄像头,延时拍摄和闪光模式

如何在不停止相机馈送的情况下使用闪光灯?

使用AVFoundation完成照片拍摄存储相册, 开启关闭闪光灯, 切换摄像头

无法让安卓闪光灯小部件打开闪光灯