CERCA
PER MODELLO
FullScreen Chatbox! :)

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

Visualizzazione dei risultati da 1 a 2 su 2
Discussione:

Problema getHeight() e getWidth() ritornano zero

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
    Baby Droid L'avatar di identikit1987


    Registrato dal
    Jul 2012
    Messaggi
    18

    Ringraziamenti
    3
    Ringraziato 1 volta in 1 Post
    Predefinito

    Problema getHeight() e getWidth() ritornano zero

    salve a tutti ho un problema non riesco a capire perchè questi 2 metodi ritornano sempre zero io ho una view personalizzata, che estende una view:
    public class DrawView extends View
    {
    private int alt;
    private int larg;
    private boolean line=true;
    public DrawView(Context context,AttributeSet attrs)
    {
    /*Richiamo metodo costruttore della superclasse in questo caso la superclasse è view
    * richiamo questo metodo costruttore quando creiamo una view da file xml*/
    super(context,attrs);
    setFocusable(true);
    paint.setColor(Color.RED);
    paint.setStrokeWidth(4);
    paint.setAntiAlias(true);

    larg=getWidth();
    alt=getHeight();
    }
    public DrawView(Context context) {
    super(context);
    setFocusable(true);
    paint.setColor(Color.RED);
    paint.setStrokeWidth(4);
    paint.setAntiAlias(true);
    larg=getWidth();
    alt=getHeight();
    }
    Poi ho un altra activity dove in base ad una certa selezione fatta all'inizio mi viene impostato come sfondo un campo da calcio o da tennis:
    if (online)
    {
    ViewGroup ll= (ViewGroup)findViewById(R.id.llay);
    drawView= new DrawView(this);

    /*Se la nostra selezione è stato calcio; imposta come sfondo della nostra view la risorsa
    * data dall'immagine del campo di calcio*/
    if (sport.compareTo("Calcio")== 0)
    {
    drawView.setBackgroundResource(R.drawable.campo);
    }
    else
    {
    drawView.setBackgroundResource(R.drawable.tennis3) ;
    }
    ll.addView(drawView);
    setContentView(ll);
    Perchè quando nella seconda acivity quando voglio ricavare altezza e larghezza della mia view mi rstituisce sempre zero.???
    Perchè queste mi sure mi servono per andare a normalizare le misurazioni effettuate e renderle adatte alla view.

  2.  
  3. #2
    Baby Droid


    Registrato dal
    Jul 2012
    Messaggi
    4

    Ringraziamenti
    1
    Ringraziato 1 volta in 1 Post
    Predefinito

    Quote Originariamente inviato da identikit1987 Visualizza il messaggio
    salve a tutti ho un problema non riesco a capire perchè questi 2 metodi ritornano sempre zero io ho una view personalizzata, che estende una view:
    public class DrawView extends View
    {
    private int alt;
    private int larg;
    private boolean line=true;
    public DrawView(Context context,AttributeSet attrs)
    {
    /*Richiamo metodo costruttore della superclasse in questo caso la superclasse è view
    * richiamo questo metodo costruttore quando creiamo una view da file xml*/
    super(context,attrs);
    setFocusable(true);
    paint.setColor(Color.RED);
    paint.setStrokeWidth(4);
    paint.setAntiAlias(true);

    larg=getWidth();
    alt=getHeight();
    }
    public DrawView(Context context) {
    super(context);
    setFocusable(true);
    paint.setColor(Color.RED);
    paint.setStrokeWidth(4);
    paint.setAntiAlias(true);
    larg=getWidth();
    alt=getHeight();
    }
    Poi ho un altra activity dove in base ad una certa selezione fatta all'inizio mi viene impostato come sfondo un campo da calcio o da tennis:
    if (online)
    {
    ViewGroup ll= (ViewGroup)findViewById(R.id.llay);
    drawView= new DrawView(this);

    /*Se la nostra selezione è stato calcio; imposta come sfondo della nostra view la risorsa
    * data dall'immagine del campo di calcio*/
    if (sport.compareTo("Calcio")== 0)
    {
    drawView.setBackgroundResource(R.drawable.campo);
    }
    else
    {
    drawView.setBackgroundResource(R.drawable.tennis3) ;
    }
    ll.addView(drawView);
    setContentView(ll);
    Perchè quando nella seconda acivity quando voglio ricavare altezza e larghezza della mia view mi rstituisce sempre zero.???
    Perchè queste mi sure mi servono per andare a normalizare le misurazioni effettuate e renderle adatte alla view.
    E' normale che ritorni 0, leggi altezza e larghezza della view prima ancora che questa venga creata. Dovresti leggere i valori fuori dal costruttore della view e fuori dal metodo onCreate() dell'activity.

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