【问题标题】:AlphaAnimation - Initial state set in XMLAlphaAnimation - 在 XML 中设置的初始状态
【发布时间】:2023-03-22 00:56:01
【问题描述】:

我知道关于这个主题有很多问题,但没有答案涵盖我想要做什么。

Alpha 状态应该从 0.2 开始 - 然后在完成一个动作后它会变为 1。

  <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:weightSum="0.8"
        android:gravity="center_vertical"
        android:layout_margin="2dp"
        **android:alpha="0.2"**
        android:id="@+id/stage_one">
...
</LinearLayout>



AlphaAnimation alphaAnim = new AlphaAnimation((float) 0.2, (float) 1);
            alphaAnim.setDuration(1000);
            alphaAnim.setFillAfter(true);
            alphaAnim.setFillEnabled(true);
            stage1.startAnimation(alphaAnim);

但是,它会在 0.2/0.2 和 1/0.2 之间渐变(从 0.04 到 0.2 渐变)- 渐变显示为 XML 中设置的 alpha 值的百分比。

是的,如果我删除 xml 值,那么动画从 0.2 - 1 开始工作,但是我需要将此视图初始化为 0.2,然后在将来某个时间点按下按钮时淡化为 1。 - 是的,如果我在 onCreate 方法中初始化视图的 alpha 值,也会出现同样的问题。

提前致谢。

一个

【问题讨论】:

    标签: android animation alpha


    【解决方案1】:

    愚蠢地将 alpha 设置为 1,然后执行动画。

    stage1.setAlpha(1.0F);
    AlphaAnimation alphaAnim = new AlphaAnimation((float) 0.2, (float) 1);
                alphaAnim.setDuration(1000);
                alphaAnim.setFillAfter(true);
                alphaAnim.setFillEnabled(true);
                stage1.startAnimation(alphaAnim);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-15
      • 2021-06-04
      • 1970-01-01
      • 2020-11-02
      • 1970-01-01
      • 2021-03-10
      相关资源
      最近更新 更多