Android 停止文本视图的闪烁

Android 停止文本视图的闪烁,android,Android,这是一个在点击按钮时闪烁文本视图的代码 start.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { recordShow.setVisibility(View.VISIBLE); Animation anim = new AlphaAnimation(0.0f, 1.0f); anim.setDuration(1000); //You can man

这是一个在点击按钮时闪烁文本视图的代码

start.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) 
{

    recordShow.setVisibility(View.VISIBLE);
    Animation anim = new AlphaAnimation(0.0f, 1.0f);
    anim.setDuration(1000); //You can manage the time of the blink with this parameter
    anim.setStartOffset(20);
    anim.setRepeatMode(Animation.REVERSE);
    anim.setRepeatCount(Animation.INFINITE);
    recordShow.startAnimation(anim);
}

我必须停止在另一个按钮上闪烁单击…要做什么…。

以下假设您希望通过单击同一个按钮来停止闪烁。如果要使用其他按钮停止单击,可以将下面的
onClick()
中的If-else拆分为单独的单击处理程序

首先,将
anim
移动到
onClick()之外,并将其作为包含类的字段。您需要将
anim
存储在某个位置,以便以后可以取消它

Animation anim = new AlphaAnimation(0.0f, 1.0f)
anim.setDuration(1000); //You can manage the time of the blink with this parameter
anim.setStartOffset(20);
anim.setRepeatMode(Animation.REVERSE);
anim.setRepeatCount(Animation.INFINITE);
其次,在包含类中创建一个布尔字段,以跟踪
TextView
当前是否闪烁:

boolean mBlinking = false;
然后:


以下假设您希望通过单击同一按钮停止闪烁。如果要使用其他按钮停止单击,可以将下面的
onClick()
中的If-else拆分为单独的单击处理程序

首先,将
anim
移动到
onClick()之外,并将其作为包含类的字段。您需要将
anim
存储在某个位置,以便以后可以取消它

Animation anim = new AlphaAnimation(0.0f, 1.0f)
anim.setDuration(1000); //You can manage the time of the blink with this parameter
anim.setStartOffset(20);
anim.setRepeatMode(Animation.REVERSE);
anim.setRepeatCount(Animation.INFINITE);
其次,在包含类中创建一个布尔字段,以跟踪
TextView
当前是否闪烁:

boolean mBlinking = false;
然后:


以下假设您希望通过单击同一按钮停止闪烁。如果要使用其他按钮停止单击,可以将下面的
onClick()
中的If-else拆分为单独的单击处理程序

首先,将
anim
移动到
onClick()之外,并将其作为包含类的字段。您需要将
anim
存储在某个位置,以便以后可以取消它

Animation anim = new AlphaAnimation(0.0f, 1.0f)
anim.setDuration(1000); //You can manage the time of the blink with this parameter
anim.setStartOffset(20);
anim.setRepeatMode(Animation.REVERSE);
anim.setRepeatCount(Animation.INFINITE);
其次,在包含类中创建一个布尔字段,以跟踪
TextView
当前是否闪烁:

boolean mBlinking = false;
然后:


以下假设您希望通过单击同一按钮停止闪烁。如果要使用其他按钮停止单击,可以将下面的
onClick()
中的If-else拆分为单独的单击处理程序

首先,将
anim
移动到
onClick()之外,并将其作为包含类的字段。您需要将
anim
存储在某个位置,以便以后可以取消它

Animation anim = new AlphaAnimation(0.0f, 1.0f)
anim.setDuration(1000); //You can manage the time of the blink with this parameter
anim.setStartOffset(20);
anim.setRepeatMode(Animation.REVERSE);
anim.setRepeatCount(Animation.INFINITE);
其次,在包含类中创建一个布尔字段,以跟踪
TextView
当前是否闪烁:

boolean mBlinking = false;
然后:


另一种办法可以是:

1。在活动中全局(在任何方法之外)声明动画文本视图对象

private Animation mAnim;
private TextView mRecordShow;
2。设置一个类,用于设置动画属性并启动它。让这个类期望一个TextView小部件作为其参数

protected void setBlinkingText(TextView textView) {
    mAnim = new AlphaAnimation(0.0f, 1.0f);
    mAnim.setDuration(1000); // Time of the blink
    mAnim.setStartOffset(20);
    mAnim.setRepeatMode(Animation.REVERSE);
    mAnim.setRepeatCount(Animation.INFINITE);
    textView.startAnimation(mAnim);
}
3。设置另一个类,在给定的文本视图上停止动画。让这个类也期望一个TextView小部件作为它的参数

protected void removeBlinkingText(TextView textView) {
        textView.clearAnimation();
}
4.现在,您可以在任何需要的地方使用您的类,并将适当的文本视图传递给它

例如

(a)在要启动动画的
onClick()方法中,将所有动画代码替换为:

setBlinkingText(mRecordShow);
(b)无论您想在哪个文本视图上停止动画,只要调用:

removeBlinkingText(mRecordShow);

另一种办法可以是:

1。在活动中全局(在任何方法之外)声明动画文本视图对象

private Animation mAnim;
private TextView mRecordShow;
2。设置一个类,用于设置动画属性并启动它。让这个类期望一个TextView小部件作为其参数

protected void setBlinkingText(TextView textView) {
    mAnim = new AlphaAnimation(0.0f, 1.0f);
    mAnim.setDuration(1000); // Time of the blink
    mAnim.setStartOffset(20);
    mAnim.setRepeatMode(Animation.REVERSE);
    mAnim.setRepeatCount(Animation.INFINITE);
    textView.startAnimation(mAnim);
}
3。设置另一个类,在给定的文本视图上停止动画。让这个类也期望一个TextView小部件作为它的参数

protected void removeBlinkingText(TextView textView) {
        textView.clearAnimation();
}
4.现在,您可以在任何需要的地方使用您的类,并将适当的文本视图传递给它

例如

(a)在要启动动画的
onClick()方法中,将所有动画代码替换为:

setBlinkingText(mRecordShow);
(b)无论您想在哪个文本视图上停止动画,只要调用:

removeBlinkingText(mRecordShow);

另一种办法可以是:

1。在活动中全局(在任何方法之外)声明动画文本视图对象

private Animation mAnim;
private TextView mRecordShow;
2。设置一个类,用于设置动画属性并启动它。让这个类期望一个TextView小部件作为其参数

protected void setBlinkingText(TextView textView) {
    mAnim = new AlphaAnimation(0.0f, 1.0f);
    mAnim.setDuration(1000); // Time of the blink
    mAnim.setStartOffset(20);
    mAnim.setRepeatMode(Animation.REVERSE);
    mAnim.setRepeatCount(Animation.INFINITE);
    textView.startAnimation(mAnim);
}
3。设置另一个类,在给定的文本视图上停止动画。让这个类也期望一个TextView小部件作为它的参数

protected void removeBlinkingText(TextView textView) {
        textView.clearAnimation();
}
4.现在,您可以在任何需要的地方使用您的类,并将适当的文本视图传递给它

例如

(a)在要启动动画的
onClick()方法中,将所有动画代码替换为:

setBlinkingText(mRecordShow);
(b)无论您想在哪个文本视图上停止动画,只要调用:

removeBlinkingText(mRecordShow);

另一种办法可以是:

1。在活动中全局(在任何方法之外)声明动画文本视图对象

private Animation mAnim;
private TextView mRecordShow;
2。设置一个类,用于设置动画属性并启动它。让这个类期望一个TextView小部件作为其参数

protected void setBlinkingText(TextView textView) {
    mAnim = new AlphaAnimation(0.0f, 1.0f);
    mAnim.setDuration(1000); // Time of the blink
    mAnim.setStartOffset(20);
    mAnim.setRepeatMode(Animation.REVERSE);
    mAnim.setRepeatCount(Animation.INFINITE);
    textView.startAnimation(mAnim);
}
3。设置另一个类,在给定的文本视图上停止动画。让这个类也期望一个TextView小部件作为它的参数

protected void removeBlinkingText(TextView textView) {
        textView.clearAnimation();
}
4.现在,您可以在任何需要的地方使用您的类,并将适当的文本视图传递给它

例如

(a)在要开始动画的
onClick()方法中,替换所有动画