Autore Topic: Quando recuperare getWidth()  (Letto 655 volte)

Offline superrossini

  • Nuovo arrivato
  • *
  • Post: 35
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus s
  • Sistema operativo:
    Windows 7
Quando recuperare getWidth()
« il: 14 Maggio 2012, 23:07:03 CEST »
0
Salve,
io mi sono costruito una View, creando una classe che ho esteso View ovviamente.
Il mio problema sta nel recuperare le dimensioni della view (Width e Height) da usare nel metodo onDraw()

come faccio??

ho visto che così funziona ...

Codice (Java): [Seleziona]
public class Bar extends View {

        private int mWidth;
        private int mHeight;

        public Bar(Context context, AttributeSet attrs) {
                super(context, attrs);

        }



        @Override
        protected void onDraw(Canvas canvas) {
                super.onDraw(canvas);

                mWidth = getWidth();
                mHeight = getHeight();
       
        }

}

ma non mi piace l'idea che ad ogni draw vada a recuperarsi le dimensioni... esiste un'altro sistema?

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Quando recuperare getWidth()
« Risposta #1 il: 14 Maggio 2012, 23:25:31 CEST »
0
le dimensioni per forza vanno prese dopo aver fatto la onDraw... c'è un metodo che serve per le misure, non ricordo perchè non ci ho mai lavorato, ma nel libro di carli era spiegato molto bene
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline superrossini

  • Nuovo arrivato
  • *
  • Post: 35
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus s
  • Sistema operativo:
    Windows 7
Re:Quando recuperare getWidth()
« Risposta #2 il: 15 Maggio 2012, 00:05:23 CEST »
0
quale libro.... che capitolo?

Offline superrossini

  • Nuovo arrivato
  • *
  • Post: 35
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus s
  • Sistema operativo:
    Windows 7
Re:Quando recuperare getWidth()
« Risposta #3 il: 15 Maggio 2012, 22:25:25 CEST »
0
Trovato... grazie del suggerimento

Codice (Java): [Seleziona]
        @Override
        protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

                mWidth = MeasureSpec.getSize(widthMeasureSpec);
                mHeight = MeasureSpec.getSize(heightMeasureSpec);

                super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        }