2016-06-01 5 views
-1

das könnte eine dumme frage sein, aber ich habe keine antwort im internet gefunden.android set width und height auf 100% einer dynamisch erstellten taste

Ich möchte eine Schaltfläche erstellen, die den gesamten Bildschirm (Breite = 100%, Höhe = 100%) füllt, wenn Sie eine andere Taste drücken.

Deshalb habe ich versucht, dies:

Button button = new Button(); 
button.setText("fills screen"); 
button.setWidth(100); 
button.setHeight(100); 

das Problem ist, dass die setWidth und setHeight Methoden mit px tun haben und nicht mit Prozent.

Was muss ich hinzufügen, um Prozentwerte anstelle von px-Werten zu verwenden?

+0

Möchten Sie den gesamten Bildschirm mit Schaltfläche oder nur dem übergeordneten Layout füllen? – W0rmH0le

Antwort

0

Ich werde hier verlinken einen Beitrag, die beschreibt, wie eine Breite programmatisch setzen programmatically set button width to 50 of parent linearlayout

Sie diese Methode verwenden kann (außer teilen sich nicht um 2 JohnEye in seiner Antwort zeigt)

Oder Sie können Verwenden Sie die Klasse LayoutParams und erstellen Sie eine neue Instanz, in der die Parameter festgelegt und diese Parameter an Ihr Objekt übergeben werden.

LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); 
button.setLayoutParams(lp); // Assuming you've already initiated it of course as above 

MATCH_PARENT wird die Ansicht aufzufüllen. Wenn die Stammansicht die höchste Ansicht in der Hierarchie ist, funktioniert dies, da sie die gesamte Ansicht ausfüllt. Wenn nicht, müsste die Schaltfläche dorthin verschoben werden. (Es kann Ihr linearLayout oder eine andere Ansicht sein)

Hoffe, das hilft.

Verwandte Themen