当前位置: 首页 > 知识库问答 >
问题:

用于线性布局的Android幻灯片动画

楚钊
2023-03-14

我的Android应用程序的一个活动使用带有两个TextView和一个imageview的linearlayout。textviews和imageview从sqlite数据库获取数据。我还有两个按钮(上一个,下一个)在数据库中来回导航。工作正常。

现在,我想给我的应用程序添加动画:当我按下下一步按钮时,线性布局(带有文本视图和图像)应该向左滑动,包含下一行数据的线性布局应该向右滑动。另一种方法是上一个按钮。

你知道怎么解决这个问题吗?

共有1个答案

孟俊发
2023-03-14

可以使用“translate tween”动画实现这一点。

将包含文本视图、图像视图和按钮的线性布局放在父线性/相对布局中:

<LinearLayout android:id="@+id/parent_layout">
    <LinearLayout android:id="@+id/container_layout">
        <Textview />

        <ImageView />

        <Buttons />
    </LinearLayout>
</LinearLayout>

在res/anim文件夹中定义两个translate tween动画,一个用于上一个,另一个用于下一个

 `previous.xml` -

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    android:fromXDelta="-100%p"
    android:toXDelta="0">
</translate>

`next.xml` -

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    android:fromXDelta="100%p"
    android:toXDelta="0">
</translate>

初始化动画并在活动的onCreate()方法中获取“容器”布局的引用:

Animation previousAnim = AnimationUtils.loadAnimation(MainMenuActivity.this, R.anim.previous);
Animation nextAnim = AnimationUtils.loadAnimation(MainMenuActivity.this, R.anim.next);
LinearLayout containerLayout = (LinearLayout) findViewById(R.id.container_layout);

单击下一个和上一个时,在数据库中导航,更新文本视图、图像视图等并触发动画

previousButtonOnClick {
    //navigate db and update views 
    containerLayout.startAnimation(previousAnim);
}

nextButtonOnClick {
    //navigate db and update views 
    containerLayout.startAnimation(nextAnim);
}
 类似资料:
  • 在上一章中,您已经了解了如何创建空幻灯片以及如何向其添加幻灯片。 在本章中,您将学习如何获取可用幻灯片列表,以及如何创建具有不同布局的幻灯片。 可用的幻灯片布局 PowerPoint演示文稿具有幻灯片布局,您可以选择所需的布局来编辑幻灯片。 首先,让我们找出所有可用幻灯片布局的列表。 有不同的幻灯片母版,在每个幻灯片母版中,有几个幻灯片布局。 您可以使用XMLSlideShow类的getSlide

  • 使用幻灯片组件,你需要在 sm.js 和 sm.css 之后额外引入如下两个文件: <link rel="stylesheet" href="//g.alicdn.com/msui/sm/0.6.2/css/sm-extend.min.css"> <script type='text/javascript' src='//g.alicdn.com/msui/sm/0.6.2/js/sm-exte

  • 我的logcat显示: 任何帮助都将不胜感激!谢谢!

  • Progress,进度条,用于上传、下载等耗时并且需要显示进度的场景,用户可以随时中断该操作。在mpvue框架中实现这个功能是基于小程序的原生progress 组件,这里主要说一下它percent属性: percent 类型:Float 默认值:无 可选值:0-100 说明:百分比0~100 要实现上传或者下载过程中显示进度的效果,就需要实时修改 percent属性的值,下面示例代码是每隔 20m

  • 幻灯片秀 自动依顺序显示每张图像。 播放幻灯片秀 同时播放音乐与幻灯片秀 使用操作接口 利用PSP™主机的按钮或线控装置进行操作

  • 幻灯片相关的标签有两个,slides和 noslides slides标签 这个标签其实就一个循环标签,只是会把你指定的幻灯片数据获取出来 | 标签名 | 作用 | 包含属性 | | --- | --- | --- | | slides | 生成幻灯片 |id,item | 标签属性: | 标签属性名 | 含义 | | --- | --- | | id |后台幻灯片 id,必须 | | item