android custom view attributes not working after switch to gradle

前端 未结 5 2137
小蘑菇
小蘑菇 2021-02-02 00:29

so I recently migrated to gradle now my custom view attributes return null

my project looks like this

--custom_icon_view // library that holds the custom view wi

5条回答
  •  我在风中等你
    2021-02-02 01:11

    Can't really see what's wrong in your project. Here is how I use custom view & attrs in mine :

    In my library project :

    attrs.xml :

    
        
    
    

    in my custom class :

     TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CustomFontSize);
     if (a == null) {
          return;
     }
     CharSequence s = a.getString(R.styleable.CustomFontSize_typeFace);
     if (s != null) {
        // do something
     }
    

    In my Main Project here an example of one of my layout :

    
    
    
        
    
    
    

    Hope it will help ...

    Edit :

    in my build.gradle of my "main project"

    dependencies {
        compile project(":MyLibraryProject")
    }
    

    And here the build.gradle of my library :

    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:0.7.+'
        }
    }
    apply plugin: 'android-library'
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        compile fileTree(dir: 'libs', include: '*.jar')
        compile 'com.android.support:support-v4:19.0.0'
        compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
        compile project(':WebediaCore:dependencies:DataDroid')
        compile project(':WebediaCore:dependencies:ViewPagerIndicator')
        compile project(':WebediaCore:dependencies:ActionBar-PullToRefresh')
        compile project(':WebediaCore:dependencies:Android-Universal-Image-Loader')
    }
    
    android {
        compileSdkVersion 19
        buildToolsVersion '19'
    
        defaultConfig {
            minSdkVersion 8
            targetSdkVersion 19
        }
    }
    

    EDIT1 :

    Try to use this namespace :

    xmlns:custom="http://schemas.android.com/apk/res-auto"
    

    and replace :

     iconview:icon_name="entypo_search"
    

    by :

     custom:name="entypo_search"
    

提交回复
热议问题