Android多行文本上下滚动播放
凤洋 人气:0最近在项目中用到了上下滚动展示条目内容,就使用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>
以上就是多行文本的上下滚动的实现,如果想实现其他的动画切换可以更改 动画xml进行实现
加载全部内容