diff --git a/app/build.gradle b/app/build.gradle index d9a6df4..c840d95 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -14,6 +14,7 @@ android { targetSdkVersion 23 versionCode 1 versionName "1.0" + vectorDrawables.useSupportLibrary = true } buildTypes { release { @@ -25,10 +26,10 @@ android { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) - compile 'com.android.support:appcompat-v7:23.1.1' - compile 'com.android.support:design:23.1.1' - //compile project(':likebutton') - compile 'com.github.jd-alexander:LikeButton:0.1.6' + compile 'com.android.support:appcompat-v7:23.2.0' + compile 'com.android.support:design:23.2.0' + compile project(':likebutton') + //compile 'com.github.jd-alexander:LikeButton:0.1.6' compile 'com.jakewharton:butterknife:7.0.1' compile 'com.mikepenz:iconics-core:2.5.2@aar' compile 'com.mikepenz:community-material-typeface:1.3.41.1@aar' diff --git a/app/src/main/res/drawable/ic_android_green_500_24dp.xml b/app/src/main/res/drawable/ic_android_green_500_24dp.xml new file mode 100644 index 0000000..4f041f8 --- /dev/null +++ b/app/src/main/res/drawable/ic_android_green_500_24dp.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/drawable/ic_android_grey_500_24dp.xml b/app/src/main/res/drawable/ic_android_grey_500_24dp.xml new file mode 100644 index 0000000..20b4c49 --- /dev/null +++ b/app/src/main/res/drawable/ic_android_grey_500_24dp.xml @@ -0,0 +1,4 @@ + + + + diff --git a/app/src/main/res/layout/content_main.xml b/app/src/main/res/layout/content_main.xml index 3c44e3b..c48af1d 100644 --- a/app/src/main/res/layout/content_main.xml +++ b/app/src/main/res/layout/content_main.xml @@ -5,8 +5,6 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" - android:paddingLeft="@dimen/activity_horizontal_margin" - android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:context="com.like.example.MainActivity" @@ -23,14 +21,14 @@ android:id="@+id/star_button" android:layout_width="wrap_content" android:layout_height="wrap_content" - app:icon_size="25dp" + app:icon_size="22dp" app:icon_type="star" /> @@ -42,7 +40,7 @@ app:circle_start_color="@android:color/holo_blue_bright" app:dots_primary_color="@android:color/holo_blue_light" app:dots_secondary_color="@android:color/holo_blue_dark" - app:icon_size="25dp" + app:icon_size="22dp" app:like_drawable="@drawable/thumb_on" app:unlike_drawable="@drawable/thumb_off" /> @@ -54,6 +52,18 @@ app:circle_start_color="@android:color/holo_purple" app:dots_primary_color="@android:color/holo_blue_dark" app:dots_secondary_color="@android:color/holo_blue_light" - app:icon_size="25dp" /> + app:icon_size="22dp" /> + + diff --git a/build.gradle b/build.gradle index 09d95f5..170a81c 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:1.2.3' + classpath 'com.android.tools.build:gradle:2.0.0-beta6' classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3' // NOTE: Do not place your application dependencies here; they belong diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index f23df6e..e9300a6 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.11-all.zip diff --git a/likebutton/build.gradle b/likebutton/build.gradle index fd9faf1..47c5b97 100644 --- a/likebutton/build.gradle +++ b/likebutton/build.gradle @@ -16,6 +16,7 @@ android { targetSdkVersion 23 versionCode 1 versionName "1.0" + vectorDrawables.useSupportLibrary = true } buildTypes { release { @@ -28,5 +29,5 @@ android { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' - compile 'com.android.support:appcompat-v7:23.1.1' + compile 'com.android.support:appcompat-v7:23.2.0' } diff --git a/likebutton/src/main/java/com/like/Utils.java b/likebutton/src/main/java/com/like/Utils.java index dfe7a71..c6fb6f8 100644 --- a/likebutton/src/main/java/com/like/Utils.java +++ b/likebutton/src/main/java/com/like/Utils.java @@ -1,9 +1,14 @@ package com.like; +import android.annotation.TargetApi; import android.content.Context; import android.graphics.Bitmap; +import android.graphics.Canvas; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; +import android.graphics.drawable.VectorDrawable; +import android.os.Build; +import android.support.graphics.drawable.VectorDrawableCompat; import android.util.DisplayMetrics; import android.util.TypedValue; @@ -34,10 +39,37 @@ public static List getIcons() { } public static Drawable resizeDrawable(Context context, Drawable drawable, int width, int height) { - Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap(); - Drawable newDrawable = new BitmapDrawable(context.getResources(), Bitmap.createScaledBitmap(bitmap, width, height, true)); + Bitmap bitmap = getBitmap(drawable, width, height); + return new BitmapDrawable(context.getResources(), Bitmap.createScaledBitmap(bitmap, width, height, true)); + } + + public static Bitmap getBitmap(Drawable drawable, int width, int height) { + if (drawable instanceof BitmapDrawable) { + return ((BitmapDrawable) drawable).getBitmap(); + } else if (drawable instanceof VectorDrawableCompat) { + return getBitmap((VectorDrawableCompat) drawable, width, height); + } else if (drawable instanceof VectorDrawable) { + return getBitmap((VectorDrawable) drawable, width, height); + } else { + throw new IllegalArgumentException("Unsupported drawable type"); + } + } + + @TargetApi(Build.VERSION_CODES.LOLLIPOP) + private static Bitmap getBitmap(VectorDrawable vectorDrawable, int width, int height) { + Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); + Canvas canvas = new Canvas(bitmap); + vectorDrawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); + vectorDrawable.draw(canvas); + return bitmap; + } - return newDrawable; + private static Bitmap getBitmap(VectorDrawableCompat vectorDrawable, int width, int height) { + Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); + Canvas canvas = new Canvas(bitmap); + vectorDrawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); + vectorDrawable.draw(canvas); + return bitmap; } public static float dipToPixels(Context context, float dipValue) {