Android-Layout Params ändern, NUR Breite und Höhe

Ich weiß, wie ich die Breite und die Höhe einer Ansicht mit LayoutParams über Folgendes tun:

android.view.ViewGroup.LayoutParams params = button.getLayoutParams();
params.width = height/7;
params.height = height/10;
button.setLayoutParams(params);

Nun, sobald ich will, gelten die gleichen Höhe und der Breite auf eine andere Taste, die ich brauche, um einen anderen LayoutParams oder überschreiben Sie den vorhandenen ein, wie hier:

android.view.ViewGroup.LayoutParams params2 = but2.getLayoutParams();
params2.width = height/7;
params2.height = height/10;
but2.setLayoutParams(params2);

Habe ich über 50 buttons in meiner Anwendung, und ich bezweifle, dass es als guter code, um alle Parameter um nur die Breite ändern und die Höhe - ich will, dass die übrigen Parameter (toLeftOf, [...]).

Gibt es eine Möglichkeit, NUR die Breite ändern und die Höhe der params-aber halten Sie den rest der Parameter? Also es sieht dann aus wie so etwas wie:

android.view.ViewGroup.LayoutParams params = button.getLayoutParams();
params.width = height/7;
params.height = height/10;
button.setLayoutParams(params);
button2.setLayoutParams(params);
button3.setLayoutParams(params);
butt[...]

Vielen Dank im Voraus.

  • Tun alle Tasten haben die gleiche Breite und Höhe?
  • Breite!=Höhe, aber die Höhe(button)==Höhe(Taste+1) und Breite(button)==Breite(Taste+1)
  • Ist, dass für alle Tasten? Oder nur für 2?
  • Alle von Ihnen. Sorry für die mathmatic Darstellung; Was auch immer-Taste, Sie sehen, die nächste hat die gleichen Params
  • Wie sind Sie mit dem erstellen Ihrer buttons? Programmgesteuert oder mithilfe eines layout-XML-Datei?
  • Durch XML. Und es ist tatsächlich eine eigene Klasse von RelativeLayout, aber das sollte keine Rolle.
  • Haben Sie versucht, zu initialisieren params mit der übergeordneten Ansicht statt? Wie diese RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(height/7, height/10);. Und dann wiederverwenden params.

InformationsquelleAutor user2875404 | 2015-02-02
Schreibe einen Kommentar