Autore Topic: Calcolo dimensione della View  (Letto 265 volte)

Offline grad

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Note 10.1
  • Sistema operativo:
    Mac OS X 10.10
Calcolo dimensione della View
« il: 10 Novembre 2014, 11:12:48 CET »
0
Buongiorno a tutti,
avrei bisogno di calcolare la dimensione disponibile della view, ovvero avere a disposizione le misure di tutta la porzione di schermo che la mia app può utilizzare per scrivere, inserire contenuti, immagini ecc ecc...
Il calcolo deve tener conto delle action bar, menu bar e di tutte le bar presenti a seconda di tutti i vari dispositivi.. Esiste un modo per far questo?


Io al momento sto usando questo codice che però non sta funzionando bene, ovvero la dimensione che mi riporta non sta tenendo conto delle varie barre:

Codice (Java): [Seleziona]
DisplayMetrics metrics = getApplicationContext().getResources().getDisplayMetrics();
int larghezza = metrics.widthPixels;
int altezza = metrics.heightPixels;




----- EDIT -----
Ho trovato la soluzione: è bastato inserire questo nella creazione dell'activity
Codice (Java): [Seleziona]
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
        final View rootView = inflater.inflate(R.layout.fragment_setup_dummy, container, false);
       
        ViewTreeObserver viewTreeObserver = rootView.getViewTreeObserver();
       
        if (viewTreeObserver.isAlive())
        {
                viewTreeObserver.addOnGlobalLayoutListener(new OnGlobalLayoutListener()
                {
                        @Override
                        public void onGlobalLayout()
                        {
                                rootView.getViewTreeObserver().removeOnGlobalLayoutListener(this);

                                //Dimensioni disponibili
                                viewWidth  = rootView.getWidth();
                                viewHeight = rootView.getHeight();
                        }
                 });
        }
                       
        return rootView;
}
« Ultima modifica: 10 Novembre 2014, 11:38:29 CET da grad, Reason: cambiato titolo »