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>

以上就是多行文本的上下滾動的實現,如果想實現其他的動畫切換可以更改 動畫xml進行實現

以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。

推薦閱讀: