如何在 Eclipse Android 开发中使用自定义视图?

Posted

技术标签:

【中文标题】如何在 Eclipse Android 开发中使用自定义视图?【英文标题】:How do you use custom views in Eclipse Android development? 【发布时间】:2015-12-18 08:54:26 【问题描述】:

我已经下载了一个自定义视图,我想在我的项目中实现它,但这是我的两难境地:人们使用大词或暗示我以前从未做过且不了解的操作。

这是我要下载的视图:http://androidcustomviews.com/holocolorpicker/

我的问题是:

    如何将视图导入现有的 Eclipse 项目?

    我要修改哪个 gradle 文件?我有 5 个(build.gradle、gradle.properties、gradlew.file、gradlew.bat、settings.gradle)。

    为什么必须在 gradle 中添加“编译”?这不是开发者可以在里面写的吗?

【问题讨论】:

不要使用eclipse进行android开发。官方支持像一年前一样被放弃 - 改用 android studio 抱歉这个愚蠢的问题,但是为什么你还在使用eclipse,特别是如果你是一个初学者? 没问题,你应该先看书或看视频。 在 rekire @Tim Castelijns,我实际上不知道支持被放弃了,我在 Eclipse 上学习了 Java,它有一个 Android IDE,所以我认为它会是一样的。我确实有 Android Studio,所以我将开始使用它,现在使用 Android Studio,我将如何完成它? @piotrek1543 没错。 MyBringBack、TheNewBoston、Cave of Programming 和许多 Udemy 课程都使用 Eclipse for Java 和 Android。 【参考方案1】:

如何将视图导入现有的 Eclipse 项目?

与其说是“导入视图”,不如说是导入允许您使用视图的库,这将在下面解释。

我要修改哪个 gradle 文件?我有 5 个(build.gradle、gradle.properties、gradlew.file、gradlew.bat、settings.gradle)。

其中一个 build.gradle 文件。看起来有点像这样

buildscript 
    repositories 
        jcenter()
    
    dependencies 
        classpath 'com.android.tools.build:gradle:1.5.0-beta1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    


allprojects 
    repositories 
        jcenter()
    

正如评论所暗示的那样,这不是正确的。你需要将它添加到另一个,看起来有点像这样

apply plugin: 'com.android.application'

android 
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig 
        applicationId "xxxx"
        minSdkVersion 23
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    
    buildTypes 
        release 
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        
    


dependencies 
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.larswerkman:HoloColorPicker:1.5'

请参阅我将它与其他依赖项一起添加到底部。

现在,当您进行 gradle 同步时,该库将被下载并自动包含在您的项目中。

之后,您可以像使用任何其他视图一样使用 xml 文件中的视图

使用常规视图:

<View
  ..
  .. />

现在使用这个自定义视图:

<com.larswerkman.holocolorpicker.ColorPicker
  ..
  .. />

为什么必须在 gradle 中添加“编译”?这不是开发者可以在里面写的吗?

我无法回答这个问题,因为这是 gradle 开发团队的选择。但基本上用compile 你说“我这里有这个库,请帮我把它编译到项目中”

【讨论】:

那么通过在 gradle 中添加 'compile' ,Android Studio 会自动安装它而无需拖放任何文件? @kaio37k 是的,嗯,它是compile 的组合,然后是 gradle 可以找到库的“url”。但实际上您不必自己拖动或复制和归档 它会自动将视图导入 Android Studio 吗? @kaio37k 只有 1 个视图,即 com.larswerkman.holocolorpicker.ColorPicker。如何在应用程序中使用它取决于您。你需要在你想要使用它们的任何地方在你的 xml 文件中使用它 但我的意思是,如果我按照您列出的说明进行操作,视图是否也可以在 Android Studio 中使用,还是只能在 Eclipse 中使用?【参考方案2】:

是的,你需要给gradle添加依赖。

dependencies 
    compile 'com.larswerkman:HoloColorPicker:1.5'

之后,您可以在布局中使用此颜色选择器,就像添加一个简单的视图一样。

<com.larswerkman.holocolorpicker.ColorPicker
    android:id="@+id/picker"
    android:layout_
    android:layout_/>

【讨论】:

从文档中很好地复制粘贴(该 OP 链接到这意味着他可能已经阅读过此内容),但没有回答问题

以上是关于如何在 Eclipse Android 开发中使用自定义视图?的主要内容,如果未能解决你的问题,请参考以下文章

在 Eclipse 中使用 Proguard 进行 Android 开发时,如何检查/升级 Proguard 版本?

转: Android 软件开发之如何使用Eclipse Debug调试程序详解

如何使用eclipse新建android app并测试运行结果

android eclipse如何查看耗时

idea开发android,调试log打印如何可以和eclipse显示一样?

如何在 Eclipse 中打开 Android Studio 项目?