1

四天以来,我试图在我的应用程序中使用这个项目。到目前为止,我创建了一个新的、干净的项目并尝试运行示例,但该项目来自 Eclipse,并且我正在使用 Android Studio。无论如何,我不想导入整个项目,只想复制必要的文件。

首先,我正在创建一个libs放置文件的文件夹-文件 from和dircircularimageview.jar之间有区别吗?CircularImageViewCircularImageViewSample

然后我将它添加为来自 Android Studio 的库,所以最后我得到了:

compile 'com.android.support:support-v4:23.0.1'

compile 'com.android.support:appcompat-v7:23.0.1'

compile files(':circularImageView')

在 build.gradle 中。

接下来,我将来自作者网站的代码添加到我的 activity_main.xml 中,所以它看起来像http://pastebin.com/qetJBG6F

我应该改变

xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/libs/com.mikhaellopez.circularimageviewsample" 

线?

我正在从作者的网站添加 java 代码,所以我MainActivity.java看起来像:

package info.androidhive.kolka;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

import com.mikhaellopez.circularimageview.CircularImageView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        CircularImageView circularImageView = (CircularImageView)findViewById(R.id.avatar);
        circularImageView.setBorderColor(getResources().getColor(R.color.GrayLight));
        circularImageView.setBorderWidth(10);
        circularImageView.addShadow();
    }

我错过了什么,为什么我仍然收到错误,例如

错误:(8) 在包“com.mikhaellopez.circularimageviewsample”java.lang.RuntimeException 中找不到属性“border”的资源标识符or :无法启动活动 ComponentInfo{info.androidhive.kolka/info.androidhive.kolka.MainActivity}: android.view.InflateException: Binary XML file line #8: Error inflating class com.mikhaellopez.circularimageview.CircularImageView

?

问候

4

1 回答 1

0

我认为图书馆可能有问题,当我尝试时它也不起作用。但是您仍然可以实现圆形图像,但是对于 BorderColor、borderWidth 等附加功能,您可以阅读此内容

视图上的 Android 投影

将 Frame 或 Border 添加到 ImageView 和 Drop-Shadow和这个

带有阴影的自定义 ImageView

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        This code doesn't seem to work
       /* CircularImageView circularImageView = (CircularImageView)findViewById(R.id.avatar);
        circularImageView.setBorderColor(getResources().getColor(R.color.GrayLight));
        circularImageView.setBorderWidth(10);
        circularImageView.addShadow(); */

                ImageView myimage = (ImageView) this.findViewById(R.id.imageId);

                Glide.with(MainActivity.this)
                .load(R.drawable.myphoto)
                .fitCenter()
                .into(myimage);
    }

布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical">
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <de.hdodenhof.circleimageview.CircleImageView
            android:id="@+id/imageId"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="16dp"
            android:src="@drawable/myimage"
            />

    </LinearLayout>

</LinearLayout>

构建.graddle 应用程序

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'de.hdodenhof:circleimageview:1.3.0'
    compile 'com.github.bumptech.glide:glide:3.6.0'
}
于 2015-09-14T10:22:09.567 回答