Autore Topic: Creare gruppo di widget/oggetti  (Letto 160 volte)

Offline xxKira

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
Creare gruppo di widget/oggetti
« il: 26 Marzo 2018, 10:34:56 CEST »
0
Ciao a tutti, vorrei chiedere se é possibile quanto segue:
Ho una pagina dove prendero come esempio dei comandi per tapparelle, allora devo fare autocreare tot. Comandi a senconda del valore che ricevo se ricevo 1 ne crea 1 se ricevo 5 ne crea 5 e così via, il mio problema sta nel fatto che far autocreare tutto é un suicidio per trovare le posizioni corrette, quindi visto che il comando per le tapparella é composto da una TextView = Nome, una TextView = Percentuale, Floating button = Alza, Floating button = Ferma e un Floating button = Abbassa tutto in LinearLayout, avete qualche consiglio tipo come rendere il tutto un oggetto unico che posso richiamare e viene posizionato correttamente? Grazie in anticipo

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 835
  • Respect: +182
    • Github
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Huawei P9 Lite
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 10 x64
Re:Creare gruppo di widget/oggetti
« Risposta #1 il: 27 Marzo 2018, 10:02:13 CEST »
0
Il modo migliore consiste nel creare un layout per i comandi relativi ad una singola tapparella con testo, immagini, pulsanti, ecc.
Poi questo layout lo puoi replicare a piacere.
Forse il metodo più semplice consiste nel creare un RecyclerView dove passi un array di tapparelle e per ogni elemento usa il layout che hai creato. Questo approccio è interessante anche perché il RecyclerView ti permette di visualizzare gli elementi come lista, come griglia o come "staggered", il tutto senza troppa fatica.
Se non vuoi usare il RecyclerView puoi usare un semplice LinearLayout, e per aggiungere una nuova tapparella fai:

Codice (Java): [Seleziona]
LayoutInflater inflater = LayoutInflater.from(this);
LinearLayout contenitore = finViewById(...);
View tapparellaView = inflater.inflate(R.layout.item_tapparella, contenitore, false);
Button alza = tapparellaView.findViewById(R.id.button_alza);
alza.setOnClickListener(...);
Button abbassa = tapparellaView.findViewById(R.id.button_abbassa);
abbassa.setOnClickListener(...);
contenitore.addView(tapparellaView);
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.