Ich möchte eine benutzerdefinierte Ansicht erstellen TestView
Klasse, für die ich Objekt über new TestView()
erstellen kann. Eine neue Ansichtsklasse benötigt jedoch ein AttributeSet-Objekt. Woher bekomme ich das AttributeSet und was muss es beinhalten?Erstellen von benutzerdefinierten Ansicht
3
A
Antwort
10
Es ist nicht obligatorisch, und meistens müssen Sie sich nicht einmal darum kümmern, solange Sie Konstruktoren von View
bereitstellen, die sie an super()
weiterleiten.
public CustomView(Context context) // No Attributes in this one.
{
super(context);
// Your code here
}
public CustomView(Context context, AttributeSet attrs)
{
super(context, attrs);
// Your code here
}
public CustomView(Context context, AttributeSet attrs, int default_style)
{
super(context, attrs, default_style);
// Your code here
}
View
nimmt die schwere Arbeit tun mit all den android:*
Attribute für den Umgang, die Sie in der Regel in würde passieren, wenn die Aussicht auf ein Layout hinzuzufügen. Ihre Konstrukteure könnte die Verwendung dieser Attribute oder machen sie ihre eigenen, wenn Sie sie definiert haben:
<com.blrfl.CustomView
android:id="@+id/customid"
android:layout_weight="1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
blrfl:foo="bar"
blrfl:quux="bletch"
/>
0
Entweder von 3 Konstruktor von Ansichtsklasse bereitgestellt wird, kann implementiert werden .. so die Bereitstellung Konstruktor mit attributeSet nicht zwingend erforderlich ist.
Verwandte Themen
- 1. Erstellen von benutzerdefinierten Benachrichtigung mit benutzerdefinierten Ansicht
- 2. Erstellen einer benutzerdefinierten modalen Ansicht
- 3. Erstellen einer benutzerdefinierten Ansicht mit einer xib
- 4. Android: Erstellen einer benutzerdefinierten Container-Ansicht
- 5. erstellen Schatten für Bitmap in benutzerdefinierten Ansicht
- 6. Erstellen von benutzerdefinierten Tag
- 7. Erstellen von benutzerdefinierten Anmerkungen
- 8. Starten einer benutzerdefinierten Ansicht von einem benutzerdefinierten Modell. Zend_möglich?
- 9. Deaktivierung der benutzerdefinierten Ansicht von UINavigationItem?
- 10. Messungen der benutzerdefinierten Ansicht
- 11. Null MenüItem-Ansicht von einer benutzerdefinierten Symbolleiste
- 12. Android: Handle Back-Schaltfläche von benutzerdefinierten Ansicht
- 13. Android - Verwenden von benutzerdefinierten Ansicht im Widget
- 14. Japanische Tastatureingabe von einer benutzerdefinierten Ansicht empfangen
- 15. Android-Benutzeroberfläche von der benutzerdefinierten Ansicht aktualisieren
- 16. Erstellen einer benutzerdefinierten Textzeichnungsansicht
- 17. Erstellen von benutzerdefinierten unveränderliche Objekte
- 18. Erstellen von zwei benutzerdefinierten Schaltflächen
- 19. Erstellen von benutzerdefinierten scss-Datei
- 20. Erstellen von benutzerdefinierten Stilabstürzen App
- 21. Erstellen von Ansicht in HIVE
- 22. AWS Erstellen von benutzerdefinierten AMI von einem anderen benutzerdefinierten AMI
- 23. In XCode, warum sind die benutzerdefinierten Ansichten meiner benutzerdefinierten Ansicht unter der benutzerdefinierten Ansicht?
- 24. onDraw() nicht in benutzerdefinierten Ansicht
- 25. Kommunikation zwischen einer benutzerdefinierten Ansicht in einer Ansicht eingebettet
- 26. CollapsingToolbarLayout mit einer benutzerdefinierten Ansicht
- 27. RadialGradient in der benutzerdefinierten Ansicht
- 28. benutzerdefinierten Ansicht hinzufügen App jhipster
- 29. Karaf - Erstellen von Feature-Datei und Erstellen von benutzerdefinierten Verteilung
- 30. Linq Entitäten zur Laufzeit von benutzerdefinierten Ansicht erstellt
Ich verbrachte viele Stunden damit, ein Att-Set on the fly zu generieren, ich fand es nahezu unmöglich, irgendwelche Dokumentation oder Beispiele dafür zu finden. Eine gute Frage könnte sein, wie man die Eigenschaften foo und quux einstellt, wenn man attrs nicht benutzt und neue CustomView() benutzt. – Emile
CustomView (String foo, String bletch) vielleicht. – Emile
Frag es und ich werde eine Antwort posten. – Blrfl