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