Android使用kotlin实现多行文本上下滚动播放
作者:凤洋 时间:2022-05-09 08:08:29
最近在项目中用到了上下滚动展示条目内容,就使用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
标签:Android,kotlin,滚动播放
0
投稿
猜你喜欢
Audio Source组件及相关API
2023-07-07 14:22:37
OpenCV画任意圆弧曲线
2023-06-22 19:28:44
Android Studio打包jar及aar包的方法
2023-06-18 15:59:53
关于Java中BeanMap进行对象与Map的相互转换问题
2023-09-18 07:25:36
解析spring cloud ouath2中的Eureka
2023-10-12 04:07:54
使用MyBatis-Generator如何自动生成映射文件
2023-05-29 18:39:46
简介Android 中的AsyncTask
2022-06-14 17:06:57
Spring如何使用注解的方式创建bean
2022-01-29 03:45:49
Android 使用CoordinatorLayout实现滚动标题栏效果的实例
2021-11-16 07:47:09
Spring Security基于JWT实现SSO单点登录详解
2022-02-28 10:56:55
Java Synchronized锁失败案例及解决方案
2023-10-25 12:33:47
springboot热部署知识点总结
2021-08-23 12:05:43
Android实现屏幕旋转四个方向准确监听
2022-06-07 08:57:32
Java中Arraylist动态扩容方法详解
2023-04-30 23:25:53
java中的基础运算符
2022-06-23 04:19:38
C# 使用HttpClient模拟请求的案例
2023-10-16 18:20:14
springboot结合maven实现多模块打包
2022-01-16 07:13:51
深入了解Java设计模式之策略模式
2021-06-24 22:45:56
Netty分布式NioEventLoop任务队列执行源码分析
2022-10-08 04:07:19
java基础之数组常用操作总结(必看篇)
2022-12-09 03:32:17