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">