我使用的是一个w文本切换器,看起来像这样:
活动_main.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<TextSwitcher
android:id="@+id/simpleTextSwitcher"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:measureAllChildren="true">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textAlignment="center"
android:textSize="20sp"
tools:text="Opening Credits" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="main star: James bond"
android:textAlignment="center"
android:textSize="20sp" />
</TextSwitcher>
我想为textswitcher创建一个滑入和滑出动画,这样它看起来就像电影中的场景,下一个文本从底部滑入,而顶部的文本则通过向上滑动而消失。我试过几次都没有成功。到目前为止,我掌握的情况如下:
我的幻灯片_in.xml格式动画:
<translate
android:duration="1000"
android:fromYDelta="100%"
android:toYDelta="0"
/>
还有我的幻灯片_out.xml文件动画:
<translate
android:duration="1000"
android:fromYDelta="100%"
android:toYDelta="0%p"
/>
我想说清楚我在这里想要什么。我希望任何目前在textSwitcher中可见的东西向上滑动,不再被看到,然后一个新的文本从底部滑动取代它的位置。
下面是我如何简单地调用它:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
container.setOnClickListener { showNextText(it) }
simpleTextSwitcher.setCurrentText("Opening Credits");
val textAnimationIn = AnimationUtils.
loadAnimation(this, R.anim.slide_in);
val textAnimationOut = AnimationUtils.
loadAnimation(this, R.anim.slide_out);
simpleTextSwitcher.setInAnimation(textAnimationIn);
simpleTextSwitcher.setOutAnimation(textAnimationOut);
}
fun showNextText( view: View){
simpleTextSwitcher.setText("main star: james bond");
}
}
我想发生的是“开场白”这个词会一直滑到屏幕顶部,再也不会出现。之后的文本“主要明星:詹姆斯邦德”从底部滑动到它的位置。你能帮助我吗?