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>
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
Vous devez vous connecter pour publier un commentaire.
J'ai enfin Compris moi-même
si les widgets n'apparaissent pas sur l'écran, elles ne sont pas créées. donc le bouton d'éléments, où encore à zéro, parce qu'ils où jamais rendus; et ils ont jamais rendu, car le parchemin vue poussé hors de l'écran.
j'ai donc attaqué le problème sous un angle différent cette fois, ce que j'ai fait a été de définir le défilement de l'affichage à l'arbitraire d'un petit nombre de sorte que les boutons rester sur l'écran, obtenir la taille de haut niveau mise en page stockées à "int totalsize", puis-je obtenir les tailles de tous les éléments sauf le défilement de la vue et a obtenu les marges pour chaque point de vue et totalisent à eux tous en "int", puis j'ai mis le défilement de l'affichage de la hauteur de "totalsize-utilisé", et c'est ce qui a fonctionné. trouvé-je totalisé les marges à la manuellement qui ne fonctionne pas quand la taille de l'écran change les marges aussi le changement afin de découvrir la vue tailles qui fonctionne le mieux.
dans mon sur créer une méthode que j'ai obtenu ceci:
et puis la taille de la fonction
espère que cela aide quelqu'un aussi de se battre avec la même question
OriginalL'auteur Kit Ramos