- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
[Android Studio] 我正在尝试让几帧快速地依次显示,然后在启动时自动更改为不同的 Activity。
我可以让启动 Activity 在继续之前等待适当的时间,但动画仍然没有播放。
我正在使用此人的方法( https://www.youtube.com/watch?v=lGRWYJlS3d0 )对帧进行动画处理并将其显示到 ImageView - 在示例中,动画由停止和启动按钮控制,该按钮将帧设置为无限循环(或不循环),但是我只想在启动应用程序时激活并显示它。
我目前实现此方法的方式会导致应用程序在读取特定行后崩溃,但我可能只是做错了,因此我们将不胜感激。谢谢。 :)
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.company.framebyframe">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".SplashActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.HOME" />
<category android:name="android.intent.category.MAIN" />
</intent-filter>
</activity>
</application>
</manifest>
activity_splash.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/splash_layout"
android:background="@drawable/custom_animation">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center" />
</FrameLayout>
</android.support.constraint.ConstraintLayout>
custom_animation.xml 在可绘制对象下
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/image0" android:duration="250"/>
<item android:drawable="@drawable/image1" android:duration="100"/>
<item android:drawable="@drawable/image2" android:duration="100"/>
<item android:drawable="@drawable/image3" android:duration="100"/>
<item android:drawable="@drawable/image4" android:duration="750"/>
<item android:drawable="@drawable/image3" android:duration="750"/>
<item android:drawable="@drawable/image4" android:duration="750"/>
<item android:drawable="@drawable/image3" android:duration="500"/>
<item android:drawable="@drawable/image0" android:duration="5000"/>
</animation-list>
SplashActivity.java
public class SplashActivity extends AppCompatActivity {
AnimationDrawable anim;
ImageView imageView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
imageView = (ImageView) findViewById(R.id.imageView);
imageView.setBackgroundResource(R.drawable.custom_animation);
anim = (AnimationDrawable) imageView.getBackground();
anim.start();
// // start new activity after 3.5 seconds // //
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
startNextActivity();
}
}, 3500);
}
public void startNextActivity() {
if (isFinishing())
return;
startActivity(new Intent(SplashActivity.this, MainActivity.class));
finish();
}
当我开始取消引用这些行时,往往会发生崩溃:
imageView = (ImageView) findViewById(R.id.imageView);
imageView.setBackgroundResource(R.drawable.custom_animation);
PS:如果有任何命名错误,可能是因为我试图使文件名更加通用和易于理解,但请随时指出您认为可能会导致问题的任何内容。
最佳答案
您需要在 Activity 类上设置布局,否则应用程序将不知道应该膨胀什么布局。这是当您尝试查找 ImageView 时应用程序崩溃的主要原因,因为您尚未设置内容布局。在 super.onCreate
之后和尝试操作任何 UI 元素之前添加此行
setContentView(R.layout.activity_splash);
此外,删除约束布局上的背景声明,您已经将动画可绘制对象加载到 ImageView
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/splash_layout">
...
</android.support.constraint.ConstraintLayout>
关于java - 逐帧动画启动画面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57192813/
我有一个表,用于测量数据集中两个不同值的分布百分比(我有一个计数,替换为 Percentage )。我只想在仪表板中发布 85% 的值。这样做的步骤是什么? .现在,如果我过滤掉 NO 值, YES
我想平均N通过Type对于 Inst 的值 我的数据设置为: Type, Inst, N A, A1, 4 A, A1, 13 A, A1, 13 A, A2, 4 A, A3, 5 B, B1, 4
当我使用 Node 的 http2 库(仅支持 HTTPS,不支持 HTTP)进行开发时,当我在 Chrome 中打开 localhost 时,我会看到一个警告屏幕: Your connection
我想创建一个具有响应式布局的导航栏菜单。当网站显示在显示器上时,我想播放导航栏。当网站在手机上显示时,我会显示最终显示导航栏的菜单图标。 我该怎么做? 最佳答案 试试这个,在移动设备上,导航栏不仅会显
我聘请了一名程序员为我创建一个 iPhone 应用程序。该应用程序的目的是拍照并将其上传到服务器。我们想制作一个特殊用途的屏幕,以便在上传照片之前查看照片。这个专门开发的屏幕将具有至关重要的缩放功能。
我在 Tableau 上有一个我无法解决的简单问题。 我想显示一个图表,显示随时间变化的度量。我想将用户通过参数选择的一个客户端与未选择的所有其他客户端进行比较。该图将显示具有 2 种不同颜色的两条线
我使用 Python 脚本从 3 个不同的 RDS 执行一系列复杂查询,然后将数据导出到一个 CSV 文件中。我现在正在尝试找到一种方法,每周将使用这些数据的仪表板自动发布到 Tableau 服务器中
我在工作中使用 tableau 来处理各种数据类型,包括敏感的个人数据,这些数据只能以聚合格式共享。我试图找到一种方法来保护私有(private)信息,方法是在单元格值小于 5 时隐藏它。这样,当用户
我最近开始在网站上嵌入 Tableau 可视化效果,并遇到了在浏览器中直接使用 Control + P 打印它们的问题。大多数完全扭曲,如果有的话。我做了一些挖掘,发现这是一个已知问题: http:/
例如,此 URL 包含十几个项目:https://tableautest.domain.uk/t/CustomerSharing/view/projects 在每个项目中都有几个工作簿。每个工作簿中都
我正在研究如何使用 Tableau 连接到 Cloudera Hadoop。我提供服务器和端口详细信息并使用“Impala”进行连接。我能够成功连接,选择默认模式并选择所需的表。 在此之后,当我将维度
我正在尝试将 Tableau 工作表嵌入到我的 ReactJS 应用程序中。我有一个包含报告名称列表的菜单(在 react 中),当单击菜单项时,它会更新包含报告名称的状态。我决定使用 tableau
我有以下问题!我有一个这样的表: Data Source 我想创建一个可以获取 apl_id 的字段(我想这是一个字段),有一些我想要的 service_offered。 上表中的示例。如果我想要只有
我有一个航类延误数据电子表格,我正在处理一个显示每个机场总延误时间的工作表。我想过滤维度“机场”,即根据每个机场的起飞次数创建机场类别,“小型”、“中型”和“大型”,这是通过计算维度“航类号”计算得出
我想创建一个带有过滤器的表格,用于选择和比较事物: 假设我有一个变量 Var,包含值 A、B、C、D、E。我想要一个过滤器,以便用户可以选择 A B C D 之一,同时 E 始终被选中。这样选中的E和
我是一名优秀的程序员,十分优秀!