Wie erweiterte GUI-Elemente in .xml verfügbar machen?

T

Tersus

Gast
Guten Abend,
ich komme aus der Java Szene, habe aber noch nie für Android entwickelt. Die Bibliotheken sind mir auch neu, sowie das Schema mit den XML-Dateien.

In Java ist es ja üblich, evtl. von bereits existierenden GUI-Elementen eigene Klassen abzuleiten um diese seinen eigenen Vorstellungen anzupassen.

Ich erstelle nun eine Klasse, welche z.B. android.widget.TextView modifiziert (erweitert/beschränkt "extends").

Wie mache ich dieses erweiterte GUI-Element für meine activity_main.xml sichtbar? Und wie definiere ich eigene XML Attributnamen?

Danke für die Hilfe! ;)
 
Du kannst in der XML folgendes verwenden:
Code:
<com.example.MyTextView
… />
Das zweite hab ich nicht ganz verstanden, sorry. Könntest du das vllt etwas genauer erklären damit ich es auch verstehe xD ?
 
Zuletzt bearbeitet von einem Moderator:
  • Danke
Reaktionen: Tersus
Wie Greenstar schon sagte, kann man den Klassennamen als Tagnamen benutzen. Eigene Attribute definiert man über einen eigenen Namespace (manchmal auch Schema genannt):

Code:
package com.example.bla;
...
public class MyLayout extends ... {
  public final static String NS = "http://com.example.bla/xxx";
  ...
  public MyLayout( Context ctx, AttributeSet attrs ) {
    super( ctx, attrs );
    attrs.getAttributeIntValue( NS, "foo", 42 );
    ...
  }
Das Attribut benutzt man in seinem Layout, indem man den Namespace mit einer xmlns Direktive anmeldet.
Code:
<HauptLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:ex="http://com.example.bla/xxx"

  <com.example.MyLayout
      ex:foo="37"
      ...
  />
Viel Spaß damit,
DgM
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Tersus
Vielen Dank, das habe ich gesucht!

Grüße
 

Ähnliche Themen

OnkelLon
Antworten
13
Aufrufe
2.004
OnkelLon
OnkelLon
M
Antworten
3
Aufrufe
185
moin
M
L
Antworten
4
Aufrufe
1.347
lonnie9020
L
Zurück
Oben Unten