geprüft ich viele Antworten, aber keine half bisher.Margin auf benutzerdefinierte Textview
Ich versuche Android Textview und stellen Sie den Rand dieser benutzerdefinierten Ansicht in den Code zu erweitern, wie ich sie auf den Knopf drückt und ähnliche Dinge instanziiert werde. Es wird einem LinearLayout hinzugefügt. Das ist, was ich habe:
public class ResultsView extends TextView {
public ResultsView(Context context) {
super(context);
LinearLayout.LayoutParams layout = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
layout.setMargins(15, 15, 15, 15);
setLayoutParams(layout);
}
}
Keine Spur von Marge überall.
EDIT: Ich könnte hinzufügen möchten, wenn ich einen Randwert in xml zuweisen, es funktioniert.
Yay! Das hat es wirklich geschafft, danke! Ich habe vorher schon etwas ähnliches versucht, aber mit onFinishInflate, was nicht funktioniert hat. Weißt du, wie gut das auf der Leistungsseite ist? Soll ich besser einen Boolean hinzufügen, um zu prüfen, ob wir ihn schon einmal gesetzt haben? – tom
Ich glaube nicht eine so große leistungs Auswirkungen, aber wenn Sie Sorge darüber sind, können Sie die Fahne fügen Sie es nur einmal zu tun, wenn Sie wollen ... –
Ich glaube, Sie wahrscheinlich weg mit nur Modifizierung der Dimensionen bekommen könnte in onLayout() übergeben (zB links + = leftMargin, rechts - = rightMargin, top + = topMargin, bottom - = bottomMargin, super.onLayout (geändert, links, oben, rechts, unten)); – kcoppock