Android使用kotlin实现多行文本上下滚动播放
作者:凤洋 发布时间:2022-05-09 08:08:29
标签:Android,kotlin,滚动播放
最近在项目中用到了上下滚动展示条目内容,就使用kotlin简单编写实现了一下该功能。
使用kotlin实现viewflipper展示textview的上下滚动播放
其中包含了kotlin的一些简单的使用
- 首先是在布局文件中如下代码:
<ViewFlipper
android:id="@+id/viewFlipper"
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="#555"
android:flipInterval="2000">
<TextView
android:id="@+id/one"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="这是静态添加的条目1"
android:textSize="25sp"
android:layout_gravity="center"
android:textColor="#f99" />
<TextView
android:id="@+id/two"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="这是静态添加的条目2"
android:textSize="25sp"
android:layout_gravity="center"
android:textColor="#f99" />
</ViewFlipper>
布局中首先已经动态添加了两条textview文本,也可以如下面代码中进行动态添加textview文本
在kotlin代码中如下:
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.view.Gravity
import android.view.animation.AnimationUtils
import android.widget.TextView
import kotlinx.android.synthetic.main.activity_flip.*
class FlipActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_flip)
//给viewFlipper设置进出场的动画格式
viewFlipper.setInAnimation(AnimationUtils.loadAnimation(this,R.anim.bottom_in))
viewFlipper.setOutAnimation(AnimationUtils.loadAnimation(this,R.anim.top_out))
//使用kotlin动态的创建textview的对象
var textview: TextView = TextView(this)
//kotlin中使用的是直接如下 .属性 来设置的,不再用setxxx设置属性
textview.text = "这是一个动态添加的标题xxxx"
textview.textSize = 25f
textview.setTextColor(R.color.blue)
textview.gravity = Gravity.CENTER
viewFlipper.addView(textview) //动态添加一条textview(静态动态添加都可以)
viewFlipper.startFlipping() //启动viewflipper
}
}
在kotlin中可以直接使用 import kotlinx.android.synthetic.main.activity_flip.* 语句导入,之后就可以入代码中直接书写viewFlipper 不用在进行findviewbyid进行初始化了;
其中给viewFlipper设置进出场动画如下:
bottom_in.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="1000"
android:fromYDelta="100%p"
android:toYDelta="0"/>
</set>
top_out.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="1000"
android:fromYDelta="0"
android:toYDelta="-100%p" />
</set>
来源:https://blog.csdn.net/MySuperGirl/article/details/72956716


猜你喜欢
- 本文实例讲述了C#执行外部命令的方法。分享给大家供大家参考。具体实现方法如下:///<summary>///executes a
- 云计算、大数据地快速发展催生了不少热门的应用及工具。作为老牌语言Java,其生态圈也出来了一些有关云服务、监控、文档分享方面的工具。本文总结
- Scanner对象的输入结束标记最近开始复习java了,自己不知道或者需要注意的地方自己做个笔记package gt; impor
- 下面是一个邮件接收的工具类,有点长!!!public class ReciveMail { private MimeMessage msg
- 在Spring Boot中,Spring Boot会自动搜索映射的Entity,并且创建相应的table,但是有时候我们希望自定义某些内容,
- Java面向对象编程之多态一.对于多态的理解:通俗点理解,多态其实就是一词多义,就是一种方法的多种状态,即不同的类对象,调用同一个方法名,有
- 相关文章android popwindow实现左侧弹出菜单层https://www.jb51.net/article/33533.htm移动
- 目前的App在安装后,第一次打开,都会显示两秒左右的logo,然后进入引导页。如果关闭App,再重新打开,则只会显示logo,然后直接进入主
- Spring框架是一个优秀的多层J2EE系统框架,Spring本身没有提供对系统的安全性支持。Acegi是基于Spring IOC 和 AO
- 废话不多说了,直接给大家贴代码了,具体代码如下所示:package com.example.yanlei.yl4;import androi
- 1、实体类package com.yl.bean;import java.io.Serializable;import java.util.
- 目录1、如果一个方法或变量是"private"访问级别,那么它的访问范围是:2、代码将打印?3、下面关于hibernat
- 本文研究的主要是Flask实现异步非阻塞请求功能,具体实现如下。最近做物联网项目的时候需要搭建一个异步非阻塞的HTTP服务器,经过查找资料,
- 图的实际应用在现实生活中,有许多应用场景会包含很多点以及点点之间的连接,而这些应用场景我们都可以用即将要学习的图这种数据结构去解决。地图:我
- 本文实例讲述了C#实现最完整的文件和目录操作类。分享给大家供大家参考。具体如下:using System;using System.Text
- 本文实例讲述了Java数组队列概念与用法。分享给大家供大家参考,具体如下:一.队列的概念 (1)队列也是一种线性结构(2)相比数组
- 几个重要的函数:#include <pthread.h>int pthread_mutex_init(pthread_mutex
- 本文研究的主要是Spring+Junit4进行接口测试的一个相关实例,具体实现代码如下。1.配置pom.xml<dependency&
- 本文实例讲述了C#计算矩阵的逆矩阵方法。分享给大家供大家参考。具体如下:1.代码思路1)对矩阵进行合法性检查:矩阵必须为方阵2)计算矩阵行列
- 本篇文章介绍:如何使用Toolbar;自定义Toolbar;先来看一看效果,了解一下toolbar;布局文件:<android.sup