如何在图像Android上应用发光效果

时间:2019-05-27 15:52:46

标签: android xamarin xamarin.android

我想在图像视图https://codepen.io/aundrekerr/pen/GtLul上应用这些类型的发光效果

在我的应用中,我想申请https://prnt.sc/nu06gt 有没有一种方法可以使“房屋”清单上的页眉像带有我们所拥有图案的光泽那样巧妙地进行动画处理?就像把它放在线条的角度上。

  I have tried with facebook shimmer effect but it's not look like what I want
   https://facebook.github.io/shimmer-android/       

1 个答案:

答案 0 :(得分:0)

首先创建带有白色/灰色渐变的形状作为可绘制的亮点

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
           <gradient
            android:angle="135"
            android:centerColor="#AAffffff"
            android:endColor="#00ffffff"
            android:startColor="#00ffffff"
            android:type="linear" />
</shape>

然后将drawable添加到布局中,作为菜单图标的覆盖

 <ImageView
        android:id="@+id/shine"
        android:layout_width="icon_width"
        android:layout_marginLeft="-50dp"
        android:layout_height="icon_height"
        android:src="@drawable/shine_effect" />

请注意,光泽ImageView的宽度和高度应与菜单图标的widthheight相同。

然后在您的逻辑端创建动画

    Animation animation = new TranslateAnimation(0, img.getWidth()+shine.getWidth(),0, 0); //img is menu icon , shine is gradient drawable 
    animation.setDuration(550);
    animation.setFillAfter(false);
    animation.setInterpolator(new AccelerateDecelerateInterpolator());
    shine.startAnimation(animation);

修改

我已经更新了渐变示例以使其适合您的要求,现在要实现其余要求,您应该再添加2个动画。

一个动画,持续时间为225,从主要动画开始,该动画增加了大小和alpha值(淡出效果)。

从动画1的结尾开始的持续时间为225的动画2,减小了尺寸和alpha值(渐隐)

希望您能理解我的示例