渲染问题:找不到以下类

时间:2016-05-22 16:30:57

标签: android xml rendering

我正在尝试重用其他应用程序中的一段代码,该代码工作正常。它是关于显示圆形图像。这是我的XML文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/background_color"
    android:orientation="vertical">

    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:foreground="?android:attr/selectableItemBackground"
        app:cardCornerRadius="4dp"
        card_view:cardElevation="3sp"
        card_view:cardUseCompatPadding="true">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:gravity="center"
            android:orientation="vertical"
            android:padding="5dp">

            <com.myname.myportal.utilities.RoundedImageView
                android:id="@+id/category_image"
                android:layout_width="70dp"
                android:layout_height="70dp"
                android:layout_gravity="center_horizontal"
                android:layout_margin="10dp"
                android:scaleType="centerCrop"
                app:border_color="@color/divider"
                app:border_width="0dip"
                app:is_oval="true"
                app:round_background="true" />

            <TextView
                android:id="@+id/category_title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="0dp"
                android:maxLines="1"
                android:padding="5dp"
                android:text=""
                android:textColor="@color/text_color" />

        </LinearLayout>
    </android.support.v7.widget.CardView>
</LinearLayout>

我得到的错误是

  

找不到以下类:    - com.myname.myportal.utilities.RoundedImageView

虽然我100%确定文件是否已创建且工作正常(因为它已从其他应用程序复制)。如果我在文件上Ctrl+Space它正确打开。我得到的唯一错误是Cannot resolve symbol 'R',但我认为是因为XML文件中的错误导致无法生成R,对吧?

1 个答案:

答案 0 :(得分:1)

首先,从原始项目中,将以下文件复制到您的项目中:

/utilities/RoundedDrawable.java
/utilities/RoundedImageView.java
/res/values/attrs.xml

然后将其添加到带有此标记的布局中:

<packagename.RoundedImageView
    <!-- XML attributes --> />

以下是我在测试应用中的示例:

<com.danielkaparunakis.stackoverflowquestions.RoundedImageView
        android:id="@+id/category_image"
        android:layout_width="70dp"
        android:src="@mipmap/ic_launcher"
        android:layout_height="70dp"
        android:layout_gravity="center_horizontal"
        android:layout_margin="10dp"
        android:background="#000000"
        android:scaleType="centerCrop"
        app:border_color="#000000"
        app:border_width="0dip"
        app:is_oval="true"
        app:round_background="true" />