Ho una linearlayout e ho anche alcuni pulsanti al suo interno. Voglio renderlo visibile quando tocco e invisibile quando lo tocco di nuovo.Nascondere e mostrare linearlayout
Come posso farlo ??
Ho una linearlayout e ho anche alcuni pulsanti al suo interno. Voglio renderlo visibile quando tocco e invisibile quando lo tocco di nuovo.Nascondere e mostrare linearlayout
Come posso farlo ??
Si dovrebbe utente
Invisibile -: mButton.setVisibility(View.INVISIBLE);
Vsible -: mButton.setVisibility(View.VISIBLE);
inserire questo codice in onclick listner del pulsante con il controllo se la condizione.
aggiungere setOnTouchListener per LinearLayout ottenere eventi Touch come:
linearLayout.setOnTouchListener(new OnTouchListener(){
public boolean onTouch(View v, MotionEvent event){
if (event.getAction() == MotionEvent.ACTION_DOWN) {
// show-hide view here
return true;
}
if (event.getAction() == MotionEvent.ACTION_UP) {
// show-hide view here
return true;
}
return false;
}
});
per rendere Vista utilizzo visibile yourview.setVisibility(View.VISIBLE)
e per uso invisibile yourview.setVisibility(View.INVISIBLE)
Non capisco su yourview.setVisibility (View.VISIBLE) e yourview.setVisibility (View.INVISIBLE). Puoi spiegare –
@KokoKrunch: yourview indica la tua vista (come linarlayout, pulsanti, viste testuali, ...) che vuoi mostra/nascondi per esempio 'linarlayout.setVisibility (View.INVISIBLE);' o linarlayout.setVisibility (View.VISIBLE); ' –
ho bisogno di mettere ogni pulsante che si trova in linearlayout o ho solo bisogno di mettere solo linearlayout a 'show -hide view ' –
Aggiungere un valore booleano sul vostro codice
boolean flag = false;
quindi aggiungere android: clickable = true sul layout lineare su xml
quindi utilizzare questo codice per poterlo
your_linear_layout = new OnClickListener(){
@Override
public void onClick(View v) {
if (flag){
// means true
your_linear_layout.setVisibility(View.INVISIBLE);
flag = false;
}
else{
your_linear_layout.setVisibility(View.VISIBLE)
flag = true;
}
}
};
Havent provato questo ancora, ma questo dovrebbe funzionare ..
Acclamazioni
LinearLayout one = (LinearLayout) findViewById(R.id.one);
one.setVisibility(View.GONE);
vi suggerisco di utilizzare ANDATO insteady del INVISIBILE nella onclick evento perché con View.GONE
il posto per il layout non sarà visibile e l'applicazione non sembrerà avere spazio inutilizzato in esso come lo View.INVISIBLE
che lascerà il gap che è inteso per il layout
Grazie! Ha funzionato come un fascino. Quindi ho usato 'View.VISIBLE' per far ricomparire il mio. – Joe
Puoi farlo usando .setVisibility. Ma come farà l'utente a sapere che il pulsante è lì mentre sarebbe invisibile? –