我试图让两个按钮在它们周围发出微弱的光,有点脉动褪色效果

按钮示例图像周围的发光效果

按钮有一个背景可绘制图像,我只想在它周围有一个发光的效果,让它与播放的音乐产生共鸣

我已经搜索了多个线程,它们要么只是一个图像视图,要么是按下的,要么是位图,所以不一定是我正在寻找的

这是我的按钮 XML:

<Button
android:id="@+id/playEasyMode_Button"
android:layout_width="145dp"
android:layout_height="40dp"
android:layout_gravity="center_horizontal"
android:background="@drawable/play_easy_button"
android:onClick="playEasyMode"
android:layout_margin="15dp"/>

请不要尝试建议在按下时使用背景可绘制对象等等,这不是我想要做的。 我想以编程方式或在 XML 中设置这种效果


编辑: Object Animator offloat 相对布局错误图像edit2:好的,因为我几乎达到了我想要的效果,下面是 Aman Verma,这是我现在更新的 XML:

<RelativeLayout
    android:id="@+id/relative_layout_id"
    android:layout_width="160dp"
    android:layout_height="55dp"
    android:layout_alignParentBottom="true"
    android:background="#FFC107"
    android:alpha=".1"
    android:layout_gravity="center_horizontal"
    android:layout_margin="15dp">

    <Button
        android:id="@+id/playEasyMode_Button"
        android:layout_width="145dp"
        android:layout_height="40dp"
        android:layout_marginLeft="8dp"
        android:background="@drawable/play_easy_button"
        android:onClick="playEasyMode"
        android:layout_marginTop="8dp"/>

</RelativeLayout>

这是java代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.home_screen_layout);

    //glowing button effect
    RelativeLayout relativelayout = (RelativeLayout)findViewById(R.id.relative_layout_id);

    ObjectAnimator fadeOut = ObjectAnimator.ofFloat(relativelayout, "alpha", .5f, .1f);
    fadeOut.setDuration(300);
    ObjectAnimator fadeIn = ObjectAnimator.ofFloat(relativelayout, "alpha", .1f, .5f);
    fadeIn.setDuration(300);

    final AnimatorSet mAnimationSet = new AnimatorSet();

    mAnimationSet.play(fadeIn).after(fadeOut);

    mAnimationSet.addListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationEnd(Animator animation) {
            super.onAnimationEnd(animation);
            mAnimationSet.start();
        }
    });

    mAnimationSet.start();
}

它目前正在动画按钮和相对布局中后面的黄色我需要按原样设置按钮而不受实际布局动画的影响

#1楼 票数:4 已采纳

你可以做的是你可以做一个相对布局作为这样的背景 -

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="#FFC107"
        android:alpha="0.1"
        android:layout_marginBottom="30dp">


        <Button
            android:layout_width="match_parent"
            android:layout_height="40dp"


            />

    </RelativeLayout>

我最初在相对布局中将 alpha 设置为 0.1。

现在在活动中,您可以编写淡入淡出的动画-

ObjectAnimator fadeOut = ObjectAnimator.ofFloat(relativelayout, "alpha", .5f, .1f);
        fadeOut.setDuration(300);
        ObjectAnimator fadeIn = ObjectAnimator.ofFloat(relativelayout, "alpha", .1f, .5f);
        fadeIn.setDuration(300);

        mAnimationSet = new AnimatorSet();

        mAnimationSet.play(fadeIn).after(fadeOut);

        mAnimationSet.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
                super.onAnimationEnd(animation);
                mAnimationSet.start();
            }
        });

        mAnimationSet.start();

编辑 3:

像这样复制并粘贴代码更新您的布局:相应地更改颜色。

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="30dp">

        <RelativeLayout
            android:id="@+id/relative_layout_id"
            android:layout_width="match_parent"
            android:layout_height="60dp"
            android:layout_centerInParent="true"
            android:background="#FFC107"
            android:alpha="0.1">


        </RelativeLayout>

        <Button
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:background="#000000"
            android:layout_centerInParent="true"

            />

    </RelativeLayout>

#2楼 票数:1

第 1 步:创建一个“发光”drawable 放在按钮后面,并将它们都放在 Framelayout 中。 您需要在按钮周围放置一些填充,以便能够看到它后面的可绘制对象。

第2步:创建一个这样的动画资源文件,并根据自己的喜好调整数字。

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:fillAfter="true">

    <scale
        android:fromXScale="1"
        android:toXScale="0"
        android:fromYScale="1"
        android:toYScale="0"
        android:duration="400"
        android:pivotX="50%"
        android:pivotY="50%"
        />

    <scale
        android:startOffset="700"
        android:fromXScale="0"
        android:toXScale="1"
        android:fromYScale="0"
        android:toYScale="1"
        android:duration="400"
        android:pivotX="50%"
        android:pivotY="50%"
        />
</set>

  ask by Cataster translate from so

未解决问题?本站智能推荐:

3回复

Android按钮效果和动画

在我的下一个项目中,当用户单击按钮或将鼠标悬停在按钮上时,我想要这样的按钮效果或动画。 我进行了大量研究,但未发现任何结果。 我想要这样的按钮效果。 请帮我解决这个问题。 提前致谢。
3回复

Android 中的按钮动画

正如我所想,今天我得到了一个非常有趣的问题。 在我的工作中,我们正在创建约会服务,其中一个主要功能将是屏幕,显示不同女孩(或男孩)的照片,用户按下“热”或“不”按钮。 这两个按钮都显示在屏幕上的照片下方。 我们的分析表明我们应该实现某种“游戏”机制,所以我们想要这样的东西:例如,当用户按下“不”按
2回复

动画化按钮中的可绘制变化

我有一个Button ,其中有一个BitmapDrawable和一行文本。 没关系,但是我的可绘制对象位于文本的“上方”,它对应于顶部的第三个按钮。 使用以下项设置可绘制对象: 我最初设置的图像在某些事件后会更改,并且我希望该图像可以动画化 。 我的布局中已经有android
1回复

创建按钮,添加事件,并添加一些动画

我正在尝试创建类似于下图的内容: 当我单击按钮1时: 正方形2显示字体“ h”和蓝色背景, 正方形3显示字体“ e”和蓝色背景, 方形4显示字体“ l”和蓝色背景, 正方形5显示字体“ l”和蓝色背景, 方形6显示字体“ o”和蓝色背景,
1回复

当用户单击按钮时,动画会将按钮滑动到屏幕顶部

我有一个具有三个按钮,1在顶部(锚定相对布局TopButton ),一个在底部( BottomButton ,和一个将被直接置于下面的顶部按钮或高于底部按钮( MiddleButton根据用户触摸)我的纽扣。 在这些按钮的每个下方,我放置了一个ScrollView,然后在其中放置了text
2回复

ViewPager中的按钮滚动到特定页面

我的ViewPager中的一个布局有一个按钮。 “R.layout.add_site”。 我想选择按下按钮,它会滚动到我的特定页面。 我已经可以选择滑动到特定页面,但我想同时拥有这两个页面。 现在我确定有办法做到这一点,但由于某种原因,我无法弄明白。 你会看到我做了一个尝试,但
1回复

android中按钮后面的光线效果动画

有没有办法像这样的 javascript-demo在Android中的按钮后面创建ray动画。 单击该Button时,它应仅在Button后面旋转,但不应扩展视图的内容区域(浮动在Button后面)。 光线应在父布局的矩形内旋转。 有任何简单的方法吗? 我的代码:
2回复

Android中的自定义按钮动画

在我的应用程序中,当用户按下菜单中的按钮时,我希望按钮可以缩放到更大的尺寸,然后在释放按钮时,它需要缩放到其原始大小。 在xml中,我创建了以下动画制作器: 在Android开发人员页面上,显示您可以为自定义按钮创建状态列表,如下所示: 我有自定义背景,所以我的问题是:有没有办