2017-11-27 6 views
0

Ich befolge eine Anleitung zum Erstellen einer benutzerdefinierten Ansicht in Android Studio, wobei ich die Attribute der Ansicht in XML definieren, aber ein paar Zeilen verursachen Fehler in den Klassen. Hier in der Code-Block verursacht troube:Probleme beim Entwerfen einer benutzerdefinierten Ansicht in Android Studio

<applicationprogramming.task401d.CustomView 
    android:id="@+id/custView1" 
    android:layout_width="0dp" 
    android:layout_height="0dp" 
    android:layout_margin="5dp" 
    custom:circleColor="#6039ff" 
    custom:circleLabel="Hello" 
    custom:labelColor="#d9d908"> 
</applicationprogramming.task401d.CustomView> 

Die drei Zeilen Code Balg

custom:circleColor="#6039ff" 
custom:circleLabel="Hello" 
custom:labelColor="#d9d908 

verursachen den folgenden Fehler in einer der Klassen:

Error:(14) No resource identifier found for attribute 'circleColor' in package 'applicationprogramming.task401d'.

Wenn definiere ich Diese Attribute: , um den Text und die Farben zu erhalten, die mit den Namen in attrs.xml angegeben sind

circleText = a.getString(R.styleable.CustomView_circleLabel); 
circleCol = a.getInteger(R.styleable.CustomView_circleColor, 0);//0 is default 
labelCol = a.getInteger(R.styleable.CustomView_labelColor, 0); 

Ich bekomme 'Kann Symbol nicht auflösen' R. Und der einzige Weg, um dieses Problem zu lösen, ist zu entfernen, wo ich die Attribute definieren. Jede Hilfe wäre willkommen.

Vielen Dank im Voraus

+0

haben Sie diese definiert in styleable XML-Datei –

+0

Sie bitte Ihre attrs.xml Datei schreiben, muss das Tag haben am Anfang der Datei –

Antwort

0

Sie müssen benutzerdefinierte Schema auf XML anwenden. Benutze es wie unten.

<applicationprogramming.task401d.CustomView 
    xmlns:custom="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/custView1" 
    android:layout_width="0dp" 
    android:layout_height="0dp" 
    android:layout_margin="5dp" 
    custom:circleColor="#6039ff" 
    custom:circleLabel="Hello" 
    custom:labelColor="#d9d908"></applicationprogramming.task401d.CustomView> 
Verwandte Themen