From 39ecb9bf0155c1dec08e82f1d8d479d1045c1b77 Mon Sep 17 00:00:00 2001 From: Sergey Petukhov Date: Mon, 19 Jun 2017 16:13:11 +0700 Subject: [PATCH 1/3] Bugfix 349: update label shadow size --- .../src/main/java/com/github/clans/fab/Label.java | 12 ++++-------- .../com/github/clans/fab/sample/MenusFragment.java | 6 +++++- 2 files changed, 9 insertions(+), 9 deletions(-) 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/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; } }); From c00f32f18d50f7e0ffc233c9da14e6c21075c11f Mon Sep 17 00:00:00 2001 From: Sergey Petrov Date: Mon, 6 Nov 2017 13:29:16 +0700 Subject: [PATCH 2/3] Use new fonts API --- build.gradle | 3 ++- gradle/wrapper/gradle-wrapper.properties | 4 ++-- library/build.gradle | 18 ++++++++++++++---- .../github/clans/fab/FloatingActionMenu.java | 7 ++++--- library/src/main/res/values/attrs.xml | 2 +- sample/build.gradle | 12 ++++++------ .../main/res/font/font_montserrat_bold.otf | Bin 0 -> 45968 bytes sample/src/main/res/font/montserrat_bold.xml | 9 +++++++++ sample/src/main/res/layout/menus_fragment.xml | 1 + 9 files changed, 39 insertions(+), 17 deletions(-) create mode 100644 sample/src/main/res/font/font_montserrat_bold.otf create mode 100644 sample/src/main/res/font/montserrat_bold.xml diff --git a/build.gradle b/build.gradle index 28b37cb..b592533 100755 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { 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 +15,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/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/res/font/font_montserrat_bold.otf b/sample/src/main/res/font/font_montserrat_bold.otf new file mode 100644 index 0000000000000000000000000000000000000000..eaf99a57166cebbbdaa5b9c0b7104aedfa196760 GIT binary patch literal 45968 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 literal 0 HcmV?d00001 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"> From afa6b35b4b4b0c0ae22984cd3edd77fe8454bda0 Mon Sep 17 00:00:00 2001 From: Sergey Petrov Date: Mon, 6 Nov 2017 13:37:15 +0700 Subject: [PATCH 3/3] Add google repo to build scripts --- build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/build.gradle b/build.gradle index b592533..ed1ca74 100755 --- a/build.gradle +++ b/build.gradle @@ -2,6 +2,7 @@ buildscript { repositories { + google() jcenter() } dependencies {