diff --git a/build.gradle b/build.gradle
index 28b37cb..ed1ca74 100755
--- a/build.gradle
+++ b/build.gradle
@@ -2,10 +2,11 @@
buildscript {
repositories {
+ google()
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:2.1.0'
+ classpath 'com.android.tools.build:gradle:3.0.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
@@ -15,5 +16,6 @@ buildscript {
allprojects {
repositories {
jcenter()
+ google()
}
}
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index ff74751..6f13f55 100755
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Mon Apr 11 11:06:38 EEST 2016
+#Mon Nov 06 13:05:32 KRAT 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
diff --git a/library/build.gradle b/library/build.gradle
index 5493a7b..ddf433d 100755
--- a/library/build.gradle
+++ b/library/build.gradle
@@ -1,12 +1,12 @@
apply plugin: 'com.android.library'
android {
- compileSdkVersion 23
- buildToolsVersion "23.0.3"
+ compileSdkVersion 27
+ buildToolsVersion "26.0.2"
defaultConfig {
minSdkVersion 14
- targetSdkVersion 23
+ targetSdkVersion 27
versionCode Integer.parseInt(project.VERSION_CODE)
versionName project.VERSION_NAME
}
@@ -25,6 +25,16 @@ android {
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
+ compile 'com.android.support:appcompat-v7:27.0.0'
}
-apply from: '../gradle-mvn-push.gradle'
+task sourcesJar(type: Jar) {
+ from android.sourceSets.main.java.srcDirs
+ classifier = 'sources'
+}
+
+artifacts {
+ archives sourcesJar
+}
+
+//apply from: '../gradle-mvn-push.gradle'
diff --git a/library/src/main/java/com/github/clans/fab/FloatingActionMenu.java b/library/src/main/java/com/github/clans/fab/FloatingActionMenu.java
index 0b80e4c..5840423 100755
--- a/library/src/main/java/com/github/clans/fab/FloatingActionMenu.java
+++ b/library/src/main/java/com/github/clans/fab/FloatingActionMenu.java
@@ -10,6 +10,7 @@
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.os.Handler;
+import android.support.v4.content.res.ResourcesCompat;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.TypedValue;
@@ -165,10 +166,10 @@ private void init(Context context, AttributeSet attrs) {
mLabelsMaxLines = attr.getInt(R.styleable.FloatingActionMenu_menu_labels_maxLines, -1);
mMenuFabSize = attr.getInt(R.styleable.FloatingActionMenu_menu_fab_size, FloatingActionButton.SIZE_NORMAL);
mLabelsStyle = attr.getResourceId(R.styleable.FloatingActionMenu_menu_labels_style, 0);
- String customFont = attr.getString(R.styleable.FloatingActionMenu_menu_labels_customFont);
+ int customFont = attr.getResourceId(R.styleable.FloatingActionMenu_menu_labels_customFont, 0);
try {
- if (!TextUtils.isEmpty(customFont)) {
- mCustomTypefaceFromFont = Typeface.createFromAsset(getContext().getAssets(), customFont);
+ if (customFont > 0) {
+ mCustomTypefaceFromFont = ResourcesCompat.getFont(getContext(), customFont);
}
} catch (RuntimeException ex) {
throw new IllegalArgumentException("Unable to load specified custom font: " + customFont, ex);
diff --git a/library/src/main/java/com/github/clans/fab/Label.java b/library/src/main/java/com/github/clans/fab/Label.java
index 7d689cb..93e4a8c 100755
--- a/library/src/main/java/com/github/clans/fab/Label.java
+++ b/library/src/main/java/com/github/clans/fab/Label.java
@@ -67,17 +67,13 @@ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
}
private int calculateMeasuredWidth() {
- if (mRawWidth == 0) {
- mRawWidth = getMeasuredWidth();
- }
- return getMeasuredWidth() + calculateShadowWidth();
+ mRawWidth = getMeasuredWidth();
+ return mRawWidth + calculateShadowWidth();
}
private int calculateMeasuredHeight() {
- if (mRawHeight == 0) {
- mRawHeight = getMeasuredHeight();
- }
- return getMeasuredHeight() + calculateShadowHeight();
+ mRawHeight = getMeasuredHeight();
+ return mRawHeight + calculateShadowHeight();
}
int calculateShadowWidth() {
diff --git a/library/src/main/res/values/attrs.xml b/library/src/main/res/values/attrs.xml
index a88bc79..49fdfd0 100755
--- a/library/src/main/res/values/attrs.xml
+++ b/library/src/main/res/values/attrs.xml
@@ -66,7 +66,7 @@
-
+
diff --git a/sample/build.gradle b/sample/build.gradle
index 0ed7dcc..a60f179 100755
--- a/sample/build.gradle
+++ b/sample/build.gradle
@@ -1,13 +1,13 @@
apply plugin: 'com.android.application'
android {
- compileSdkVersion 23
- buildToolsVersion "23.0.3"
+ compileSdkVersion 27
+ buildToolsVersion "26.0.2"
defaultConfig {
applicationId "com.github.fab.sample"
minSdkVersion 14
- targetSdkVersion 23
+ targetSdkVersion 27
versionCode Integer.parseInt(project.VERSION_CODE)
versionName project.VERSION_NAME
}
@@ -28,8 +28,8 @@ android {
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
- compile 'com.android.support:appcompat-v7:23.3.0'
- compile 'com.android.support:recyclerview-v7:23.3.0'
- compile 'com.android.support:design:23.3.0'
+ compile 'com.android.support:appcompat-v7:27.0.0'
+ compile 'com.android.support:recyclerview-v7:27.0.0'
+ compile 'com.android.support:design:27.0.0'
compile project(':library')
}
diff --git a/sample/src/main/java/com/github/clans/fab/sample/MenusFragment.java b/sample/src/main/java/com/github/clans/fab/sample/MenusFragment.java
index af0a82c..05caecf 100644
--- a/sample/src/main/java/com/github/clans/fab/sample/MenusFragment.java
+++ b/sample/src/main/java/com/github/clans/fab/sample/MenusFragment.java
@@ -42,6 +42,8 @@ public class MenusFragment extends Fragment {
private List menus = new ArrayList<>();
private Handler mUiHandler = new Handler();
+ private boolean mShowLongText = false;
+
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
@@ -65,7 +67,7 @@ public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
final FloatingActionButton programFab1 = new FloatingActionButton(getActivity());
programFab1.setButtonSize(FloatingActionButton.SIZE_MINI);
- programFab1.setLabelText(getString(R.string.lorem_ipsum));
+ programFab1.setLabelText(getString(mShowLongText ? R.string.lorem_ipsum : R.string.app_name));
programFab1.setImageResource(R.drawable.ic_edit);
menuRed.addMenuButton(programFab1);
programFab1.setOnClickListener(new View.OnClickListener() {
@@ -75,6 +77,8 @@ public void onClick(View v) {
ContextCompat.getColor(getActivity(), R.color.light_grey),
ContextCompat.getColor(getActivity(), R.color.white_transparent));
programFab1.setLabelTextColor(ContextCompat.getColor(getActivity(), R.color.black));
+ programFab1.setLabelText(getString(mShowLongText ? R.string.app_name : R.string.lorem_ipsum));
+ mShowLongText = !mShowLongText;
}
});
diff --git a/sample/src/main/res/font/font_montserrat_bold.otf b/sample/src/main/res/font/font_montserrat_bold.otf
new file mode 100644
index 0000000..eaf99a5
Binary files /dev/null and b/sample/src/main/res/font/font_montserrat_bold.otf differ
diff --git a/sample/src/main/res/font/montserrat_bold.xml b/sample/src/main/res/font/montserrat_bold.xml
new file mode 100644
index 0000000..7a8b7fe
--- /dev/null
+++ b/sample/src/main/res/font/montserrat_bold.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/sample/src/main/res/layout/menus_fragment.xml b/sample/src/main/res/layout/menus_fragment.xml
index ee76f6a..a009b43 100644
--- a/sample/src/main/res/layout/menus_fragment.xml
+++ b/sample/src/main/res/layout/menus_fragment.xml
@@ -220,6 +220,7 @@
android:paddingLeft="10dp"
fab:menu_labels_ellipsize="end"
fab:menu_labels_singleLine="true"
+ fab:menu_labels_customFont="@font/montserrat_bold"
fab:menu_backgroundColor="#ccffffff"
fab:menu_fab_label="Menu label">