procédure de programmation pour obtenir la hauteur de vue à l'aide des touches?

ok, voici mon problème je veux créer un défilement de la vue qui remplit à un ensemble de deux boutons qui sont à droite au bas de l'écran. sachant que je ne peux pas il suffit de régler le défilement de la vue de remplir parent je pensais aller et obtenir la hauteur de l'linéaire de la mise en page avec les boutons et la hauteur de défilement de la vue que j'ai mis à remplir parent. puis soustraire l'un de l'autre et de réinitialiser le défilement de l'affichage de la hauteur. J'ai compris comment faire pour obtenir et définir le défilement de l'affichage de la hauteur. et j'ai trouvé un moyen pour que les œuvres de mesurer tous les autres points de vue dans l'activité, mais avec celle-ci, elle renvoie toujours zéro et je suis à une perte quant à la façon d'obtenir la hauteur.

final LinearLayout tv = (LinearLayout)findViewById(R.id.thebuttons);
    ViewTreeObserver vto = tv.getViewTreeObserver();
    vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
        public void onGlobalLayout() {
            Integer grr = tv.getHeight();
            Log.e("the h", grr.toString());
            ViewTreeObserver obs = tv.getViewTreeObserver();
            obs.removeGlobalOnLayoutListener(this);
        }
    });

maintenant, si je l'ai mis sur un de mes autres mises-je obtenir la hauteur de ce que j'attends, mais fixés à celui-ci et j'obtiens 0; et c'est celle que je suis en train de mesurer la! J'ai aussi essayé de mesurer le bouton directement en vain

<LinearLayout
 android:id="@+id/thebuttons"
 android:orientation="horizontal"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_gravity="center_horizontal"
 android:layout_marginTop="5sp"
>
<Button
    android:id="@+id/saveit"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Save" />
<Button
    android:id="@+id/clearit"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Save" />
</LinearLayout>
Il suffit d'utiliser un RelativeLayout au lieu d'un LinearLayout, cela vous permet de facilement la position des éléments dans la façon dont vous décrivez sans avoir besoin de faire toute mauvaise mesure, etc.

OriginalL'auteur Kit Ramos | 2012-01-22