我要对TextView进行动画处理,在CardView中可能会有长文本。我从这个问题animate textView找到了几个答案。
<androidx.cardview.widget.CardView
android:id="@+id/lineCard"
android:layout_width="match_parent"
android:layout_height="120dp"
android:foreground="?attr/selectableItemBackground"
app:cardBackgroundColor="@color/Black">
<TextView
android:id="@+id/tvCallerName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:backgroundTint="#00FFFFFF"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:textAlignment="center"
android:textColor="@color/White"
android:textSize="32sp"/>
</androidx.cardview.widget.CardView>
我正在使用ellipsize,marqueeRepeatLimit,scrollHorizontally,singleLine
。但仍然无法正常工作。文本以两行显示。我在这里想念什么?预先谢谢你。
答案 0 :(得分:1)
<androidx.cardview.widget.CardView
android:id="@+id/lineCard"
android:layout_width="match_parent"
android:layout_height="120dp"
android:foreground="?attr/selectableItemBackground"
app:cardBackgroundColor="@color/Black">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tvCallerName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:backgroundTint="#00FFFFFF"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:textAlignment="center"
android:textColor="@color/White"
android:textSize="32sp"/>
</LinearLayout>
</androidx.cardview.widget.CardView>
添加线性布局,然后在其中放置textview
答案 1 :(得分:0)
首先,以XML创建动画。
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="5000"
android:fromXDelta="100"
android:interpolator="@android:anim/linear_interpolator"
android:repeatCount="infinite"
android:repeatMode="restart"
android:toXDelta="-100" />
然后添加动画
textview.startAnimation(AnimationUtils.loadAnimation(this, R.anim.scroll_animation));
对于简单动画,可以使用
<TextView
android:id="@+id/attatchFilename"
android:layout_width="170dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/chooseFile"
android:layout_below="@id/txtMsg"
android:layout_marginTop="10sp"
android:layout_marginLeft="10dp"
android:text=""
android:singleLine="true"
android:focusable="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever" />
也请查看此博客: [https://www.journaldev.com/9481/android-animation-example][1]