如何使数组输出变量更改矢量图形的颜色

我还在使用CoralDraw X6学习Android Studio,Java,xml和矢量图形 . 我找不到任何教程或信息来帮助我完成我的小项目并寻求帮助 . 我在运行Windows 7专业版的计算机上使用android studio 3.1.4版 .

我做了一个叫做按钮改变灰点9种颜色的小项目 . 它在一个活动中有一个按钮和一个灰色矢量对象 . 矢量对象默认为灰色,单击按钮8次可以更改为八种不同的颜色 . 这很好,我已经包含了它的代码,因为它在我的票务系统项目中很有用 .

package com.example.chucky.buttonchangesgreydot9colours;enter code here
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;enter code here
import android.view.View;enter code here
import android.widget.Button;enter code here
import android.widget.ImageView;enter code here

public class MainActivity extends AppCompatActivity {
int counter = 0;
int[] colors = {0xFF808080, 0xFF9900CC, 0xFFFF0000, 0xFFFF681F, 0xFFFFFF00, 0xFF0000FF, 0xFF00FFFF, 0xFF00671A, 0xFF0BF446, };

ImageView iv1;
Button btn1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    btn1 = (Button) findViewById(R.id.btn1);
    iv1 = (ImageView) findViewById(R.id.iv1);

    btn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            counter++;
            if (counter > colors.length - 1) {
                counter = 0;
            }
            iv1.setColorFilter(colors[counter]);
        }
    });
}

}在此处输入代码

我的票务项目是帮助他们完成票证清算 . 我已经包含了这个单一活动项目的代码 .

在我的项目中,他们从09:00开始并在17:00结束并输入每张票完成的时间 . 如果票证开始时间为9且结束时间为11,则按=时将导致结果显示在=符号旁边显示2 . 我已经在我的手机上测试了它,它的工作原理 .

现在这是我需要帮助的地方 . 而不是让结果2显示我希望活动中包含的矢量图形来改变颜色 . 在这种情况下,它将是两小时票图形,我希望它从默认颜色灰色0xFF808080更改为紫色0xFF9900CC . 如果下一张票需要2小时,则文本输入将是11到13,我希望这将两个小时票据颜色从紫色0xFF9900CC更改为红色0xFFFF0000我已经为8个颜色添加了数组颜色,以防个人执行8门票在8小时内,一小时门票矢量将最终为浅绿色0xFF0BF446

package com.example.chucky.tickettimes;enter code here

import android.support.v7.app.AppCompatActivity;enter code here
import android.os.Bundle;enter code here
import android.view.View;enter code here
import android.widget.EditText;enter code here
*emphasized text*enter code here

public class MainActivity extends AppCompatActivity {enter code here
// working hours 9 to 5    9am 10am     to ---------> 4pm 5pm
private int[] hours = { 9, 10, 11, 12, 13, 14, 15, 16, 17 };enter code here
//  Grey dots start with Grey
int counter = 0;enter code here
//                    Grey        Purple       Red       Orange       Yellow       Blue     light Blue    Green    Light Green
int[] colors = {0XFF808080, 0xFF9900CC, 0xFFFF0000, 0xFFFF681F, 0xFFFFFF00, 0xFF0000FF, 0xFF00FFFF, 0xFF00671A, 0xFF0BF446, };enter code here




@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

}
public void buttonClicked(View view) {

    EditText text1 = (EditText) findViewById(R.id.et1);
    int val1 = Integer.parseInt(text1.getText().toString());

    EditText text2 = (EditText) findViewById(R.id.et2);
    int val2 = Integer.parseInt(text2.getText().toString());

    int pos1 = 0;
    for (int i = 0; i < hours.length; i++) {
        int numberAtIndex = hours[i];
        if (val1 == numberAtIndex) {
            pos1 = i;
            break;
        }
    }

    int pos2 = 0;
    for (int i = 0; i < hours.length; i++) {
        int numberAtIndex = hours[i];
        if (val2 == numberAtIndex) {
            pos2 = i;
            break;
        }
    }

    int diff = pos2 - pos1;
    TextView textView = (TextView) findViewById(R.id.tv3);
    textView.setText("" + diff);

}

}在此处输入代码

回答(0)