Java 如何在Touch上更改textView颜色的示例?

Java 如何在Touch上更改textView颜色的示例?,java,android,colors,textview,Java,Android,Colors,Textview,我已经在一个项目上工作了一段时间,现在我想要它,这样当用户触摸屏幕时,它就会改变textView(数字时钟)的颜色。说到java,我有点不在行,所以如果可能的话,我真的需要一个完整的工作示例吗?以下是我目前的代码: public class MainActivity extends Activity { private static final Random RANDOM = new Random(); @Override protected void onCreate(Bundle save

我已经在一个项目上工作了一段时间,现在我想要它,这样当用户触摸屏幕时,它就会改变textView(数字时钟)的颜色。说到java,我有点不在行,所以如果可能的话,我真的需要一个完整的工作示例吗?以下是我目前的代码:

public class MainActivity extends Activity {
private static final Random RANDOM = new Random();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    setContentView(R.layout.activity_main);

    Handler handler = new RandomMoveHandler((TextView) findViewById(R.id.digitalClock1));
    handler.sendEmptyMessage(0);
}


private static class RandomMoveHandler extends Handler {
    private final WeakReference<TextView> textViewWeakReference;

    private RandomMoveHandler(TextView textView) {
        this.textViewWeakReference = new WeakReference<TextView>(textView);
    }

    @Override
    public void handleMessage(Message msg) {
        TextView textView = textViewWeakReference.get();
        if (textView == null) {
            Log.i(TAG, "WeakReference is gone so giving up.");
            return;
        }

        int x = RANDOM.nextInt(670 - 100);
        int y = RANDOM.nextInt(1230 - 100);

        Log.i(TAG, String.format("Moving text view to (%d, %d)", x, y));
        textView.setX(x);
        textView.setY(y);

        //change the text position here
        this.sendEmptyMessageDelayed(0, 30000);
    }
}
公共类MainActivity扩展活动{
私有静态最终随机=新随机();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG\u保持屏幕打开);
setContentView(R.layout.activity_main);
Handler Handler=new RandomMoveHandler((TextView)findViewById(R.id.digitalClock1));
handler.sendEmptyMessage(0);
}
私有静态类RandomMoveHandler扩展了Handler{
私有最终WeakReference text查看WeakReference;
私有随机移动处理程序(TextView TextView){
this.textViewWeakReference=新的WeakReference(textView);
}
@凌驾
公共无效handleMessage(消息消息消息){
TextView TextView=textViewWeakReference.get();
if(textView==null){
i(标记“WeakReference消失了,所以放弃了”);
返回;
}
int x=随机的.nextInt(670-100);
int y=随机的nextInt(1230-100);
Log.i(TAG,String.format(“将文本视图移动到(%d,%d)”,x,y));
textView.setX(x);
textView.setY(y);
//在此处更改文本位置
此.sendEmptyMessageDelayed(0,30000);
}
}

另请参见

我在“textView.setOnTouchListener”上遇到此错误:“标记“setOnTouchListener”上的语法错误,=此标记后应出现此错误”好的,我想我已经知道了,但是我如何添加更多颜色?只需在项目的res/values/colors.xml中定义它们。所有这些都记录在这里:
textView.setOnTouchListener(new OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        // use any of your own colors here...
        textView.setTextColor(android.R.color.holo_purple);
        return true;
    }
});