In einer Android-Anwendung versuche ich programmgesteuert benutzerdefinierte ConstraintLayout
Ansichten zu einem vertikal orientierten LinearLayout
hinzuzufügen.Festlegen der ConstraintLayout-Breite, um die übergeordnete Breite programmgesteuert anzupassen
Ich setze die LayoutParams
auf MATCH_PARENT
für die Breite und für die Höhe in der ConstraintLayout
s. Jedoch, wenn ich die Anwendung ausführen, ist die ConstraintView
alles zusammengeknüllt und der Inhalt überlappt sich. Im Folgenden finden Sie einige relevante Snippets und einen Screenshot meiner Anwendung. Wie gehe ich vor, um dieses Problem zu beheben?
public class ItemView extends ConstraintLayout {
LinearLayout linearButtons;
LinearLayout linearText;
public ItemView(Context context, String name, String price, ArrayList<String> guests,
ArrayList<String> checked, int id) {
...
addView(linearText);
addView(linearButtons);
set.clone(this);
set.connect(linearText.getId(), ConstraintSet.LEFT, this.getId(),
ConstraintSet.LEFT, 8);
set.connect(linearText.getId(), ConstraintSet.TOP, this.getId(),
ConstraintSet.TOP, 8);
set.connect(linearButtons.getId(), ConstraintSet.RIGHT, this.getId(),
ConstraintSet.RIGHT, 8);
set.connect(linearButtons.getId(), ConstraintSet.TOP, this.getId(),
ConstraintSet.TOP, 8);
}
anderswo:
for (Item it:r.getItems()) {
ItemView itemView = new ItemView(this, it.getName(), nf.format(it.getPrice()), dinerlist, it.getGuests(), i);
ConstraintLayout.LayoutParams params = new ConstraintLayout.LayoutParams(ConstraintLayout.LayoutParams.MATCH_PARENT, ConstraintLayout.LayoutParams.MATCH_PARENT);
itemView.setLayoutParams(params);
vg.addV[enter image description here][1]iew(itemView);
Log.d("ItemView Children: ", itemView.getWidth()+" "+itemView.getHeight());
leid in Kotlin zu beantworten, haben Sie Java benötigen? -> Ich habe Java hinzugefügt – Kaskasi
Danke Kumpel Sie haben meinen Tag gerettet – Jinu