Я хочу применить функцию setAlpha () к 4 кнопкам в зависимости от события нажатия. Ниже мой код. Я подготовил массив из 4 со всеми идентификаторами в нем. Но setAlpha () выбрасывает ошибки. Любые предложения?
ошибка: не удается найти метод символа setAlpha (float)
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button yellowBtn;
private Button greenBtn;
private Button redBtn;
private Button blueBtn;
private Button startBtn;
String[] tileColor = new String[4];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
yellowBtn = findViewById(R.id.yellowBtn);
greenBtn = findViewById(R.id.greenBtn);
blueBtn = findViewById(R.id.blueBtn);
redBtn = findViewById(R.id.redBtn);
startBtn = findViewById(R.id.startBtn);
tileColor[0] = "yellowBtn";
tileColor[1] = "greenBtn";
tileColor[2] = "blueBtn";
tileColor[3] = "redBtn";
startBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startBtn.setEnabled(false);
randomTile();
}
});
yellowBtn.setOnClickListener(this);
greenBtn.setOnClickListener(this);
blueBtn.setOnClickListener(this);
redBtn.setOnClickListener(this);
}
public void randomTile(){
final int random = new Random().nextInt(4);
AlphaAnimation animationG = new AlphaAnimation(0.2f, 1.0f);
animationG.setDuration(500);
tileColor[random].setAlpha(1f);
tileColor[random].startAnimation(animationG);
}
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.yellowBtn:
AlphaAnimation animation1 = new AlphaAnimation(0.2f, 1.0f);
animation1.setDuration(500);
yellowBtn.setAlpha(1f);
yellowBtn.startAnimation(animation1);
break;
case R.id.blueBtn:
AlphaAnimation animation2 = new AlphaAnimation(0.2f, 1.0f);
animation2.setDuration(500);
blueBtn.setAlpha(1f);
blueBtn.startAnimation(animation2);
break;
case R.id.greenBtn:
AlphaAnimation animation3 = new AlphaAnimation(0.2f, 1.0f);
animation3.setDuration(500);
greenBtn.setAlpha(1f);
greenBtn.startAnimation(animation3);
break;
case R.id.redBtn:
AlphaAnimation animation4 = new AlphaAnimation(0.2f, 1.0f);
animation4.setDuration(500);
redBtn.setAlpha(1f);
redBtn.startAnimation(animation4);
break;
}
}
}
Я хочу применить функцию setAlpha () к 4 кнопкам на основе события нажатия. Ниже мой код. Я подготовил массив из 4 со всеми идентификаторами в нем. Но setAlpha () выбрасывает ошибки. Любые предложения?
ошибка: не удается найти метод символа setAlpha (float)
Android: ошибка: не удается найти метод символа setAlpha (float). setAlpha () не работает с массивом со смещением.