Ich versuche einen Button zu meinem RelativLayout hinzuzufügen. Es funktioniert, aber die Tasten überlappen sich. Ich glaube, ich übergebe die LayoutParams, oder ich verwende die falschen Methoden, aber ich weiß es nicht.Wie programmatisch eine Schaltfläche hinzufügen?
Dies ist nur ein Test. In der endgültigen Version möchte ich eine unbestimmte Anzahl von Schaltflächen zu einem scrollView mit einem relativLayout hinzufügen.
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
Button myButton = new Button(MainActivity.this);
myButton.setText("Push Me");
RelativeLayout ll = (RelativeLayout)findViewById(R.id.relative_main);
FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT);
lp.topMargin = R.id.button;
myButton.setLayoutParams(lp);
ll.addView(myButton);
}
}
);
}
}
Die XML-Datei:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.freddy.test.MainActivity"
android:id="@+id/relative_main">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add new Button"
android:id="@+id/button"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
in der Endfassung gibt es 4 Tasten in einer Reihe und das funktioniert nur mit einem RelativLayout und ich möchte eine hinzufügen undefinierte Anzahl dieser Zeilen – Locki
Ich habe ein Beispiel hinzugefügt, es sollte auch mit LinearLayout funktionieren, aber ich bin mir nicht sicher, ob das gemeint ist. –
Ok danke Mann, aber ich habe schon eine Lösung gefunden, aber tolle Arbeit! – Locki