2

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="fyp.hkust.facet">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

    <uses-feature
    android:name="android.hardware.camera"
    android:required="false" />
    <uses-feature
    android:name="android.hardware.camera.autofocus"
    android:required="false" />
    <uses-feature
    android:name="android.hardware.camera.front"
    android:required="false" />
    <uses-feature
    android:name="android.hardware.camera.front.autofocus"
    android:required="false" />

    <application
    android:name=".MyApp"
    android:allowBackup="true"
    android:icon="@mipmap/app_icon"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    tools:replace="android:icon">
    <meta-data
        android:name="com.facebook.sdk.ApplicationId"
        android:value="@string/facebook_app_id" />

    <activity android:name=".activity.MainActivity" />
    <activity android:name=".activity.PostActivity" />
    <activity
        android:name=".activity.MainMenuActivity"
        android:theme="@style/Theme.AppCompat.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".activity.RegisterActivity"
        android:parentActivityName=".activity.LoginActivity" />
    <activity android:name=".activity.LoginActivity" />
    <activity
        android:name=".activity.AccountActivity"
        android:theme="@style/AppTheme.NoActionBar_nav" />
    <activity
        android:name=".skincolordetection.ShowCameraViewActivity"
        android:configChanges="keyboardHidden|orientation"
        android:supportsRtl="true" />
    <activity
        android:name="com.theartofdev.edmodo.cropper.CropImageActivity"
        android:theme="@style/Base.Theme.AppCompat" />

    <activity
        android:name=".skincolordetection.CaptureActivity"
        android:screenOrientation="portrait" />

    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />

    <activity
        android:name=".activity.CategoryActivity"
        android:theme="@style/AppTheme.NoActionBar_nav" />
    <activity android:name=".activity.SwapFaceActivity" />
    <activity
        android:name=".skincolordetection.ColorDetectionActivity"

        android:hardwareAccelerated="false" />
    <activity
        android:name=".activity.ProfileActivity" />
    <activity android:name=".activity.ProductDetailActivity" />
    <activity android:name=".activity.ProfileEditActivity"></activity>
</application>

styles.xml

<resources xmlns:tools="http://schemas.android.com/tools">

<!-- Base application theme. -->
<style name="AppTheme" parent="Base.AppTheme">
    <!-- Customize your theme here. -->
    <item name="android:textAllCaps">false</item>

</style>

<style name="Base.AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorPrimary</item>
</style>

<style name="MyButton" parent="Theme.AppCompat.Light">
    <item name="colorControlHighlight">@color/colorPrimary</item>
</style>

<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:textAllCaps">false</item>
</style>

<style name="cart_dialog" parent="@android:style/Theme.Holo.Light.Dialog" tools:targetApi="honeycomb">
    <item name="android:windowFrame">@null</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:background">@android:color/transparent</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:backgroundDimEnabled" tools:targetApi="cupcake">true</item>
    <item name="android:backgroundDimAmount">0.6</item>
</style>

<style name="AppTheme.NoActionBar_nav">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:textAllCaps">false</item>
</style>

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
    <item name="android:textAllCaps">false</item>
</style>

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light">
    <item name="android:textAllCaps">false</item>
</style>

build.gradle

apply plugin: 'com.android.application'
android {
    compileSdkVersion 24
    buildToolsVersion '24.0.0'
    defaultConfig {
        applicationId "fyp.hkust.facet"
        minSdkVersion 17
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner         "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    ndk {
        moduleName 'jnidemo'
    }
    sourceSets {
        main {
            jniLibs.srcDir 'src/main/jni_src'
        }
    }
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.0.0'
compile 'com.android.support:cardview-v7:24.0.0'
compile 'com.android.support:design:24.0.0'
compile 'com.android.support:recyclerview-v7:24.0.0'

compile 'com.google.android.gms:play-services-auth:9.8.0'
compile 'com.google.android.gms:play-services:9.8.0'

//facebook login
compile 'com.facebook.android:facebook-android-sdk:4.+'

compile 'io.reactivex:rxandroid:1.2.1'
compile 'io.reactivex:rxjava:1.1.6'
// FirebaseUI Database only
compile 'com.google.firebase:firebase-auth:9.8.0'
compile 'com.google.firebase:firebase-database:9.8.0'
compile 'com.google.firebase:firebase-storage:9.8.0'
compile 'com.firebaseui:firebase-ui-database:0.6.0'
//UI library
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'info.hoang8f:fbutton:1.0.5'
compile 'com.github.markushi:circlebutton:1.1'
compile 'com.rengwuxian.materialedittext:library:2.1.4'
//image cropper
compile 'com.theartofdev.edmodo:android-image-cropper:2.3.+'
//image compressor
compile 'id.zelory:compressor:1.0.4'
compile 'me.shaohui.advancedluban:library:1.3.2'
//circle image
compile 'de.hdodenhof:circleimageview:2.1.0'
compile 'me.spark:submitbutton:1.0.1'
//blur imageview
compile 'com.github.jgabrielfreitas:BlurImageView:1.0.1'
//animation library
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.daimajia.easing:library:1.0.1@aar'
compile 'com.daimajia.androidanimations:library:1.1.3@aar'
compile 'com.roger.gifloadinglibrary:gifloadinglibrary:1.0.0'
//hint library
compile 'com.nhaarman.supertooltips:library:3.0.+'
//sweet alert
compile 'cn.pedant.sweetalert:library:1.3'

//chart
compile 'com.github.PhilJay:MPAndroidChart:v3.0.1'

//DLib
compile 'com.tzutalin.dlib-android-app:dlib:1.0.4'
compile 'com.github.dexafree:materiallist:3.0.1'
// Optional -- Hamcrest library
androidTestCompile 'org.hamcrest:hamcrest-library:1.3'
//vertical_stepper_form
compile 'com.ernestoyaquello.stepperform:vertical-stepper-form:0.9.9'
//emoji
compile 'hani.momanii.supernova_emoji_library:supernova-emoji-library:0.0.2'
//like animation
compile 'com.github.jd-alexander:LikeButton:0.2.0'
//imageZoomer
compile 'com.vatsal.imagezoomer:image-zoomer:1.0.2'
//rating
compile 'me.zhanghai.android.materialratingbar:library:1.0.2'
//color picker
compile 'com.jrummyapps:colorpicker:2.0.4'
testCompile 'junit:junit:4.12'

compile project(':openCVLibrary310')
}

apply plugin: 'com.google.gms.google-services'
repositories {
    flatDir { dirs 'libs' }
    maven {
        url 'https://dl.bintray.com/spark/maven'
    }
    maven {
        url 'https://dl.bintray.com/tzutalin/maven'
    }
    maven { url "https://dl.bintray.com/hani-momanii/maven"}
    maven { url "https://jitpack.io" }
    mavenCentral()
    mavenLocal()
}

activity_profile.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_profile"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/profile_bg"
tools:context="fyp.hkust.facet.activity.ProfileActivity">

<RelativeLayout
    android:id="@+id/profile_layout"
    android:layout_width="match_parent"
    android:layout_height="150dp"
    android:orientation="vertical"
    android:weightSum="1">

    <de.hdodenhof.circleimageview.CircleImageView
        android:id="@+id/profile_picture"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_marginBottom="25dp"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="25dp"
        android:background="@mipmap/app_icon"
        app:civ_border_width="2dp"
        app:civ_border_color="#FF000000"/>

    <Button
        android:id="@+id/btn_edit"
        android:layout_width="60dp"
        android:layout_height="35dp"
        android:layout_alignBottom="@+id/profile_email"
        android:layout_alignParentEnd="true"
        android:layout_centerVertical="true"
        android:layout_marginBottom="5dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="20dp"
        android:adjustViewBounds="true"
        android:background="@drawable/border_button_no_bg"
        android:clickable="true"
        android:contextClickable="true"
        android:scaleType="fitCenter"
        android:text="@string/edit_btn_text"
        android:textColor="@color/font_color_pirmary" />

    <TextView
        android:id="@+id/profile_username"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="47dp"
        android:layout_toEndOf="@+id/profile_picture"
        android:layout_toStartOf="@+id/btn_edit"
        android:text="@string/profile_username"
        android:textSize="12sp" />

    <TextView
        android:id="@+id/profile_email"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/profile_username"
        android:layout_toEndOf="@+id/profile_picture"
        android:layout_toStartOf="@+id/btn_edit"
        android:paddingLeft="20dp"
        android:paddingTop="10dp"
        android:text="@string/profile_email"
        android:textColor="@color/profile_email_text_color"
        android:textSize="10sp" />
</RelativeLayout>

<android.support.design.widget.TabLayout
    android:id="@+id/tabs"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/profile_layout"
    android:background="@color/colorPrimary"
    app:layout_scrollFlags="scroll|enterAlways"
    app:tabGravity="fill"
    app:tabIndicatorColor="@color/white"
    app:tabMode="fixed"
    app:tabSelectedTextColor="@color/white"
    app:tabTextColor="@color/grey_title" />

<LinearLayout
    android:id="@+id/tab_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/tabs"
    android:orientation="vertical">

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentBottom="true"
        android:layout_alignParentStart="true"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />


</LinearLayout>

    <android.support.design.widget.FloatingActionButton
      android:id="@+id/add_product_fab"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentRight="true"
      android:layout_alignParentBottom="true"
      android:layout_margin="16dp"
      android:elevation="6dp"
      app:backgroundTint="@color/colorPrimary"
      android:src="@mipmap/ic_plus_white_36dp"
      app:pressedTranslationZ="12dp"
    />
</RelativeLayout>

I have tried all the method in Error inflating class android.support.design.widget.FloatingActionButton in Android but I still cannot use my FloatingActionButton. Also, I would get the following error when I build the FloatingActionButton. Any solutions to solve this for me? Thank you very much.

Exception Details java.lang.NoSuchMethodError: android.support.v7.widget.AppCompatImageHelper. (Landroid/widget/ImageView;Landroid/support/v7/widget/AppCompatDrawableManager;)V   at android.support.design.widget.FloatingActionButton.(FloatingActionButton.java:170)   at android.support.design.widget.FloatingActionButton.(FloatingActionButton.java:147)   at java.lang.reflect.Constructor.newInstance(Constructor.java:423)   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)   at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:858)   at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)   at android.view.LayoutInflater.rInflate(LayoutInflater.java:834)   at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)   at android.view.LayoutInflater.inflate(LayoutInflater.java:518)   at android.view.LayoutInflater.inflate(LayoutInflater.java:397)

Community
  • 1
  • 1
ng2b30
  • 351
  • 6
  • 18
  • maybe one of your library holds design library of different version. find it and put transitive=true in that library – Divyesh Patel Feb 03 '17 at 13:51
  • How to put this line of code?Any instruction for me? thank you. – ng2b30 Feb 03 '17 at 14:06
  • find problmatic library and use like compile 'com.android.support:support-v4:25.0.1'({ transitive=true;}); you have to find that – Divyesh Patel Feb 03 '17 at 14:07
  • Error:(87, 0) Could not find method hani.momanii.supernova_emoji_library:supernova-emoji-library:0.0.2() for arguments [build_c724iu2p84h41vsvqghe0ddsv$_run_closure2$_closure11@ba62b1c] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler. It would get the above result when I add ({ transitive=true;}); – ng2b30 Feb 03 '17 at 14:50
  • like this one : compile('com.crashlytics.sdk.android:crashlytics:2.2.2@aar') { transitive = true; } – Divyesh Patel Feb 04 '17 at 05:05
  • I think I may use a tricky way to 'solve' this. Using a third library of fab. Thank you for your answer. – ng2b30 Feb 04 '17 at 06:33

0 Answers0