我有一个具有两个textview的垂直线性布局,我在第一个textview中添加了textsize动画 所以问题是当文本视图较大时,每当在上部textview中添加新行时,下部textview就会向下移动而没有动画。它只是从以前的位置弹出,然后在新的位置弹出。当第一个textview高度更改时,如何为第二个textview设置动画?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/one"
android:text="one two three four five"
android:textSize="@dimen/TEXT_SIZE_18"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/two"
android:text="six seven eight nine ten"
android:textSize="@dimen/TEXT_SIZE_18"/>
</LinearLayout>
我为一个文本视图的大小设置了动画
final float startSize = 18; // Size in pixels
final float endSize = 24;
long animationDuration = 600; // Animation duration in ms
ValueAnimator animator = ValueAnimator.ofFloat(startSize, endSize);
animator.setDuration(animationDuration);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
float animatedValue = (float) valueAnimator.getAnimatedValue();
if (one!=null){
one.setTextSize(animatedValue);
}
}
});
我希望两个textview自动设置动画
答案 0 :(得分:0)
一种简单的方法是使用public abstract class Base{}
public class A : Base {}
public class B : Base {}
public class Args {
public Base handle = new A();
}
public class Program
{
public static void Main()
{
Event(new Args());
}
public static void foo(A a) {}
public static void foo(B b) {}
public static void Event(Args args) {
foo(args.handle); // here the error occures
}
}
。可以使用LayoutTransition
属性在ViewGroup
上启用wihich。
android:animateLayoutChanges="true"
然后,您可以使用<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/linearLayout"
android:animateLayoutChanges="true"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/one"
android:text="one two three four five"
android:textSize="@dimen/TEXT_SIZE_18"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/two"
android:text="six seven eight nine ten"
android:textSize="@dimen/TEXT_SIZE_18"/>
</LinearLayout>
启用转换状态的转换:-
LayoutTransition.CHANGING