2017-11-27 10 views
0

android studio에서 사용자 정의보기를 만드는 방법에 따라 XML에서보기의 속성을 정의하지만 몇 줄에서 클래스에 오류가 발생합니다. 다음 코드 블록의 원인 troube :Android 스튜디오에서 사용자 정의보기를 디자인 할 때의 문제

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

노호 코드

<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> 

세 라인 클래스 중 하나에 다음과 같은 오류가 발생되어

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

I 정의하면 이러한 속성은 다음과 같습니다. attrs.xml의 이름을 사용하여 지정된 텍스트 및 색상을 가져 오려면

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); 

'기호를 해결할 수 없습니다'R이 표시됩니다. 그리고이 문제를 해결하는 유일한 방법은 내가 속성을 정의하는 곳을 제거하는 것입니다. 도움이 될 것입니다.

미리 감사드립니다.

+0

는 파일의 시작 부분에 태그 이 있어야합니다, 당신은 당신의 attrs.xml이 파일을 게시하시기 바랍니다 –

+0

styleable XML 파일이 정의했다 –

답변

0

xml에 맞춤 스키마를 적용해야합니다. 아래처럼 사용하십시오.

<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>