Heim >Java >javaLernprogramm >Wie programmgesteuert Ränder für Schaltflächen in einem LinearLayout festlegen?

Wie programmgesteuert Ränder für Schaltflächen in einem LinearLayout festlegen?

Susan Sarandon
Susan SarandonOriginal
2024-11-05 14:06:02892Durchsuche

How to set margins for buttons inside a LinearLayout programmatically?

Programmgesteuertes Festlegen von Rändern in einem LinearLayout

Um ein LinearLayout mit gleichmäßig verteilten Schaltflächen zu erstellen, die den gesamten Bildschirm einnehmen, muss stattdessen Java-Code verwendet werden von XML. Allerdings hat sich das Erreichen von Rändern zwischen Schaltflächen in diesem Szenario für einige Entwickler als Herausforderung erwiesen.

Ein Versuch umfasste die Verwendung von LinearLayout.MarginLayoutParams, aber es fehlt ein Gewichtungsattribut und es funktioniert nicht mit dem Layoutparameterobjekt (lp). Daher scheint es unmöglich zu sein, die Ränder in diesem Zusammenhang zu manipulieren.

Lösung:

Glücklicherweise ist es möglich, diese Funktionalität mit einer geringfügigen Änderung zu implementieren der Code:

<code class="java">LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
     LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);

layoutParams.setMargins(30, 20, 30, 0);

Button okButton=new Button(this);
okButton.setText("some text");
ll.addView(okButton, layoutParams);</code>

In diesem Code werden die Layoutparameter für die Schaltfläche mit LinearLayout.LayoutParams erstellt. Die setMargins-Methode wird dann verwendet, um die Ränder um die Schaltfläche herum festzulegen und sicherzustellen, dass sie einen Abstand zu den benachbarten Schaltflächen hat.

Das obige ist der detaillierte Inhalt vonWie programmgesteuert Ränder für Schaltflächen in einem LinearLayout festlegen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn