CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: Varioflex con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 14 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 35 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 8 su 8
Discussione:

Gestione AbsoluteLayout via codice

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Androidiano


    Registrato dal
    Nov 2011
    Località
    Ivrea
    Messaggi
    133

    Ringraziamenti
    7
    Ringraziato 8 volte in 8 Posts
    Predefinito

    Gestione AbsoluteLayout via codice

    Vorrei tanto un activity che mi posizioni i miei testi dinamicamente (tanto per cambiare)
    e così mi creo il mio bellissimo AbsoluteLayout vuoto..

    (
    Tra l'altro piccola parentesi ecco un comodo tutorial di layout
    Learn Android : Android Layout Tutorial

    Mi creo via codice il mio EditText , aggancio l'AbsoluteLayout e speranzoso ho usato il .layout(l,t,r,b) per indicare al mio edit dove posizionarsi, ma nulla da fare, si posiziona in alto a sinistra e non si muove neanche a morire. Ho fatto diverse prove ma niente.
    Qualcuno mi da una dritta?
    Grazie

    EditText edit =new EditText(this);

    AbsoluteLayout absolute=(AbsoluteLayout) findViewById(R.id.absolute);

    edit.setText("prova");
    edit.setWidth(100);
    edit.setHeight(100);
    edit.layout(300, 300, 0, 0);

    absolute.addView(edit);

  2.  
  3. #2
    Senior Droid


    Registrato dal
    May 2010
    Località
    Rivoli
    Messaggi
    426

    Ringraziamenti
    6
    Ringraziato 48 volte in 47 Posts
    Predefinito

    Dunque.... un paio di prove:

    Prova 1: hai provato a mettere il absolute.addView(edit); tra Try ... catch ? E' possibile che ti dia errore?

    Prova 2: sei sicuro che il AbsoluteLayout sia DENTRO lo schermo? Ad. esempio, lo schermo è 320x240, e tu hai posizionato l'AbsoluteLayout a 400,400, cioè FUORI dallo schermo. E' ovvio che non lo vedi.

    Prova 3: prova a mettere un controllo qualsiasi, possibilmente colorato, dentro il AbsoluteLayout nell'XML (cioè non aggiungerlo da codice), e controlla che si veda.

    La prova 3 è giustificata dal fatto che anch'io avevo provato a creare un Layout vuoto, e riempirlo in maniera asincrona.
    Bene, quel Kornuto del Layout vuoto, sentendo che non aveva componenti dentro, si era fissato con dimensioni 0x0, cioè... come dire... "chiuso". Quando andavo ad infilarci dentro i componenti, questi non si vedevano.

    Prova, e sappimi dire.

  4. #3
    Androidiano


    Registrato dal
    Nov 2011
    Località
    Ivrea
    Messaggi
    133

    Ringraziamenti
    7
    Ringraziato 8 volte in 8 Posts
    Predefinito

    Allora...

    Prova 1: non va in catch (forse avrei preferito )

    Prova 2: Ho messo l'Absolute Layout Match_parent x Match_parent

    Prova 3: Ho messo l'Absolute Layout il background bianco e occupa tutta la pagina.

    Prova 4: Se creo un EditText direttamente nel layout del tipo -->


    <?xml version="1.0" encoding="utf-8"?>


    <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/absolute"
    android:background="#FFFFFF" >

    <EditText
    android:id="@+id/editText_fisso"
    android:layout_x="50px"
    android:layout_y="500px"
    android:width="100px"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />


    </AbsoluteLayout>



    Be si sposta nella posizione indicata, ma se da codice faccio -->



    editText_fisso.layout(300, 0, 0, 50);

    non si muove di una virgola.

    ... uff....

    In allegato il progetto.
    File allegati

  5. #4
    Androidiano


    Registrato dal
    Nov 2011
    Località
    Ivrea
    Messaggi
    133

    Ringraziamenti
    7
    Ringraziato 8 volte in 8 Posts
    Predefinito

    sempre punto 3:

    Non è che da codice non crea l'oggetto, il problema è solo che non riesco a dargli la posizione, non la prende..
    Idee?

  6. #5
    Androidiano


    Registrato dal
    Nov 2011
    Località
    Ivrea
    Messaggi
    133

    Ringraziamenti
    7
    Ringraziato 8 volte in 8 Posts
    Predefinito

    Ti dico anche l'obbiettivo così capisci il perché di questa strada.

    Vorrei leggere le coordinate delle EditText da una tabella.. quindi ho la necessità di doverle posizionare dove voglio.
    Mi sembra l'unica via possibile..

  7. #6
    Androidiano L'avatar di FMsolution


    Registrato dal
    Aug 2010
    Località
    Spoleto (PG)
    Messaggi
    51
    Smartphone
    I5800

    Ringraziamenti
    1
    Ringraziato 5 volte in 5 Posts
    Predefinito

    ho modificato il progetto iniziale con una soluzione ad un problema simile al tuo che mi si era presentato un po di tempo fa, vedi se può andarti bene: testAbsoluteMod.rar. Ciao.
    Miei programmi:FMsoluzioni;

    App sviluppate per conto terzi: TLS Travel; RadioNostalgia; 4Clubbers;

    "Solo sul dizionario la parola successo viene prima di sudore"

  8. #7
    Androidiano


    Registrato dal
    Nov 2011
    Località
    Ivrea
    Messaggi
    133

    Ringraziamenti
    7
    Ringraziato 8 volte in 8 Posts
    Predefinito

    Grazie valuterò la possibilità che mi hai proposto.

    Voglio condividere con voi una valida alternativa che ho trovato oggi già testata e funzionante:

    Creo un Xml con un RelativeLayout vuoto con id my_relative_layout

    Poi da codice:

    RelativeLayout rl = (RelativeLayout) findViewById(R.id.my_relative_layout);
    ImageView iv;
    RelativeLayout.LayoutParams params;

    iv = new ImageView(this);
    iv.setBackgroundColor(Color.YELLOW);
    params = new RelativeLayout.LayoutParams(30, 40);
    params.leftMargin = 50;
    params.topMargin = 60;
    rl.addView(iv, params);

    iv = new ImageView(this);
    iv.setBackgroundColor(Color.RED);
    params = new RelativeLayout.LayoutParams(30, 40);
    params.leftMargin = 80;
    params.topMargin = 90;
    rl.addView(iv, params);




    dove:

    params = new RelativeLayout.LayoutParams(30, 40); --> sono width e height di iv
    e
    params.leftMargin = 80;
    params.topMargin = 90; --> dove posiziono iv



    Niente male vero?


    PS. x Copacabana
    Hai perso la bambolina sto giro!!


    Buon natale

  9. #8
    Senior Droid


    Registrato dal
    May 2010
    Località
    Rivoli
    Messaggi
    426

    Ringraziamenti
    6
    Ringraziato 48 volte in 47 Posts
    Predefinito

    Quote Originariamente inviato da genty Visualizza il messaggio
    PS. x Copacabana
    Hai perso la bambolina sto giro!!


    Buon natale
    Oh, beh... vedro' di consolarmi con la bambola in carne & ossa!

    Auguri anche a te

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy