在Android studio中设计自定义视图的问题

时间:2017-11-27 03:35:42

标签: java android android-custom-view

我正在遵循在android studio中创建自定义视图的指南,我在XML中定义了视图的属性,但是几行导致了类中的错误。在导致麻烦的代码块中:

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

三行代码吼叫

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

导致其中一个类出现以下错误:

  

错误:(14)在'applicationprogramming.task401d'包中找不到属性'circleColor'的资源标识符。

当我定义这些属性时: 获取使用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. 解决此问题的唯一方法是删除我定义属性的位置。 任何帮助将不胜感激。

提前致谢

1 个答案:

答案 0 :(得分: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>