Innanzitutto, ripeschiamo le due variabili:
boolean padLockLeft=false;
boolean padLockRight=false;
mi sono scocciato con questa esterofilia! Semplifichiamone il nome.boolean lucchettoSin=false; boolean lucchettoDx=false;Quindi lasciando sempre le immagini dei lucchetti creerò un onLongClickListener per ognuno...
Ci provo...
luccListener = new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
if(v==leftBottom){
if(lucchettoSin==false){
leftBottom.setImageResource(R.drawable.lucaperto);
lucchettoSin=true;
}else{
leftBottom.setImageResource(R.drawable.lucchiuso);
lucchettoSin=false;
}
}
if(v==rightBottom){
if(lucchettoDx==false){
rightBottom.setImageResource(R.drawable.lucaperto);
lucchettoDx=true;
}else{
rightBottom.setImageResource(R.drawable.lucchiuso);
lucchettoDx=false;
}
}
if(lucchettoSin==true && lucchettoDx==true){
settingMode=true;
mainLayout.setBackgroundColor(Color.GRAY);
}
if(lucchettoSin==false && lucchettoDx==false){
settingMode=false;
mainLayout.setBackgroundColor(Color.BLACK);
}
return true;
}
};
leftBottom.setOnLongClickListener(luccListener);
rightBottom.setOnLongClickListener(luccListener);
Ecco, finalmente funziona.Ci vorrei aggiungere una vibrazione...
Da quello che ho capito, basta istanziare il vibratore (l'ho già fatto una volta ma con poca attenzione, quasi copiando)
Si deve andare a getSystemService.
Ecco il codice completo di vibrazione (da sperimentare):
luccListener = new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
if(v==leftBottom){
if(lucchettoSin==false){
leftBottom.setImageResource(R.drawable.lucaperto);
lucchettoSin=true;
}else{
leftBottom.setImageResource(R.drawable.lucchiuso);
lucchettoSin=false;
}
}
if(v==rightBottom){
if(lucchettoDx==false){
rightBottom.setImageResource(R.drawable.lucaperto);
lucchettoDx=true;
}else{
rightBottom.setImageResource(R.drawable.lucchiuso);
lucchettoDx=false;
}
}
Vibrator vibrator =(Vibrator)getApplicationContext().getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(500);
if(lucchettoSin==true && lucchettoDx==true){
settingMode=true;
mainLayout.setBackgroundColor(Color.GRAY);
}
if(lucchettoSin==false && lucchettoDx==false){
settingMode=false;
mainLayout.setBackgroundColor(Color.BLACK);
}
return true;
}
};
leftBottom.setOnLongClickListener(luccListener);
rightBottom.setOnLongClickListener(luccListener);
Da provare su cellulare...Funziona, anche con la vibrazione.
Nessun commento:
Posta un commento