我正在创建一个基本应用程序,其中有一些EditText字段和TextView字段。我想创建一个活动,如果我键入“是”'在EditText字段TFusername
中,我希望EditText字段包含单词' yes'闪烁几次,也变为绿色,可以是文本本身或EditText字段框。有人可以帮我解决如何为这个过程写出.java代码吗?
我已附上以下.xml代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:padding="16dp" >
<TextView
android:id="@+id/result_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_above="@+id/bVoice"
android:layout_marginBottom="10dp"
android:layout_centerHorizontal="true" />
<ListView
android:layout_width="100dip"
android:layout_height="40dip"
android:id="@+id/lvVoiceReturn"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/TFusername"
android:hint="type here"
android:textColor="#FF7A7A7A"
android:gravity="center_horizontal"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:id="@+id/caption_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textAppearance="?android:attr/textAppearanceLarge"
android:typeface="sans" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Speak"
android:id="@+id/bVoice"
android:layout_gravity="bottom"
android:onClick="onButtonClick_1"
android:layout_alignTop="@+id/Blogin"
android:layout_toLeftOf="@+id/Blogin"
android:layout_toStartOf="@+id/Blogin" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login"
android:id="@+id/Blogin"
android:layout_gravity="center_horizontal"
android:layout_alignParentBottom="true"
android:layout_alignLeft="@+id/result_text"
android:layout_alignStart="@+id/result_text" />
<EditText
android:id="@+id/editText72"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:gravity="center"
android:inputType="textMultiLine"
android:text="Test Application"
android:textSize="30sp"
android:layout_below="@+id/TFusername"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="67dp" />
<EditText
android:id="@+id/editText73"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editText72"
android:layout_marginTop="15dp"
android:layout_toLeftOf="@+id/result_text"
android:ems="10"
android:gravity="center"
android:inputType="textPersonName"
android:text="YES"
android:textColor="@android:color/darker_gray" />
<EditText
android:id="@+id/editText75"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editText72"
android:layout_marginTop="15dp"
android:layout_toEndOf="@+id/editText73"
android:layout_toRightOf="@+id/editText73"
android:ems="10"
android:gravity="center"
android:inputType="textPersonName"
android:text="NO"
android:textColor="@android:color/darker_gray" />
答案 0 :(得分:0)
Animation anim = new AlphaAnimation(0.0f, 1.0f);
anim.setDuration(50); //You can manage the blinking time with this parameter
anim.setStartOffset(20);
anim.setRepeatMode(Animation.REVERSE);
anim.setRepeatCount(Animation.INFINITE);
anim.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// if you want to change color at start of animation
//textview.settextcolor("your color")
}
@Override
public void onAnimationEnd(Animation animation) {
// if you want to change color at end of animation
//textview.settextcolor("your color")
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
myText.startAnimation(anim);
使用setAnimationListener回调更改文本视图中文本的颜色。