From a9af55ff232a5bff17818cb6654529d3f6411043 Mon Sep 17 00:00:00 2001 From: Ashok-Varma Date: Tue, 27 Jun 2017 00:32:21 +0530 Subject: [PATCH] 2.0.1 released --- README.md | 8 +- .../bottomnavigation/BadgeTextView.java | 6 +- .../BottomNavigationHelper.java | 10 +- .../bottomnavigation/ShapeBadgeItem.java | 59 ++++++--- gradle.properties | 4 +- .../bottomnavigation/sample/HomeActivity.java | 68 +++++------ .../ic_github_circle_white_24dp.png | Bin 0 -> 967 bytes .../res/drawable-hdpi/ic_link_white_24dp.png | Bin 394 -> 0 bytes .../ic_github_circle_white_24dp.png | Bin 0 -> 740 bytes .../res/drawable-mdpi/ic_link_white_24dp.png | Bin 243 -> 0 bytes .../ic_github_circle_white_24dp.png | Bin 0 -> 1152 bytes .../res/drawable-xhdpi/ic_link_white_24dp.png | Bin 459 -> 0 bytes .../ic_github_circle_white_24dp.png | Bin 0 -> 1795 bytes .../drawable-xxhdpi/ic_link_white_24dp.png | Bin 680 -> 0 bytes .../ic_github_circle_white_24dp.png | Bin 0 -> 2299 bytes .../drawable-xxxhdpi/ic_link_white_24dp.png | Bin 916 -> 0 bytes sample/src/main/res/layout/activity_home.xml | 112 ++++++++++-------- sample/src/main/res/menu/home_menu.xml | 4 +- sample/src/main/res/values/strings.xml | 4 +- 19 files changed, 155 insertions(+), 120 deletions(-) create mode 100755 sample/src/main/res/drawable-hdpi/ic_github_circle_white_24dp.png delete mode 100644 sample/src/main/res/drawable-hdpi/ic_link_white_24dp.png create mode 100755 sample/src/main/res/drawable-mdpi/ic_github_circle_white_24dp.png delete mode 100644 sample/src/main/res/drawable-mdpi/ic_link_white_24dp.png create mode 100755 sample/src/main/res/drawable-xhdpi/ic_github_circle_white_24dp.png delete mode 100644 sample/src/main/res/drawable-xhdpi/ic_link_white_24dp.png create mode 100755 sample/src/main/res/drawable-xxhdpi/ic_github_circle_white_24dp.png delete mode 100644 sample/src/main/res/drawable-xxhdpi/ic_link_white_24dp.png create mode 100755 sample/src/main/res/drawable-xxxhdpi/ic_github_circle_white_24dp.png delete mode 100644 sample/src/main/res/drawable-xxxhdpi/ic_link_white_24dp.png diff --git a/README.md b/README.md index 9aa952f..5fd79ad 100644 --- a/README.md +++ b/README.md @@ -31,17 +31,17 @@ Download [the latest JAR][mavenAarDownload] or grab via Maven: com.ashokvarma.android bottom-navigation-bar - 2.0.0 + 2.0.1 pom ``` or Gradle: ```groovy -compile 'com.ashokvarma.android:bottom-navigation-bar:2.0.0' +compile 'com.ashokvarma.android:bottom-navigation-bar:2.0.1' ``` or Ivy: ```xml - + ``` @@ -73,5 +73,5 @@ limitations under the License. [wikiLink]: https://github.com/Ashok-Varma/BottomNavigation/wiki/Usage [googlePlayStoreLink]: https://play.google.com/store/apps/details?id=com.ashokvarma.bottomnavigation.sample [googlePage]: https://www.google.com/design/spec/components/bottom-navigation.html - [mavenAarDownload]: https://repo1.maven.org/maven2/com/ashokvarma/android/bottom-navigation-bar/2.0.0/bottom-navigation-bar-2.0.0.aar + [mavenAarDownload]: https://repo1.maven.org/maven2/com/ashokvarma/android/bottom-navigation-bar/2.0.1/bottom-navigation-bar-2.0.1.aar [mavenLatestJarDownload]: https://search.maven.org/remote_content?g=com.ashokvarma.android&a=bottom-navigation-bar&v=LATEST diff --git a/bottom-navigation-bar/src/main/java/com/ashokvarma/bottomnavigation/BadgeTextView.java b/bottom-navigation-bar/src/main/java/com/ashokvarma/bottomnavigation/BadgeTextView.java index 8fb5d16..55336aa 100644 --- a/bottom-navigation-bar/src/main/java/com/ashokvarma/bottomnavigation/BadgeTextView.java +++ b/bottom-navigation-bar/src/main/java/com/ashokvarma/bottomnavigation/BadgeTextView.java @@ -1,9 +1,10 @@ package com.ashokvarma.bottomnavigation; +import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Canvas; -import android.util.AttributeSet; import android.support.v7.widget.AppCompatTextView; +import android.util.AttributeSet; /** * Class description @@ -12,7 +13,8 @@ * @version 1.0 * @since 23 Jun 2017 */ -public class BadgeTextView extends AppCompatTextView { +@SuppressLint("Instantiatable") +class BadgeTextView extends AppCompatTextView { private ShapeBadgeItem mShapeBadgeItem; diff --git a/bottom-navigation-bar/src/main/java/com/ashokvarma/bottomnavigation/BottomNavigationHelper.java b/bottom-navigation-bar/src/main/java/com/ashokvarma/bottomnavigation/BottomNavigationHelper.java index 80a3cda..aac4fb6 100644 --- a/bottom-navigation-bar/src/main/java/com/ashokvarma/bottomnavigation/BottomNavigationHelper.java +++ b/bottom-navigation-bar/src/main/java/com/ashokvarma/bottomnavigation/BottomNavigationHelper.java @@ -32,7 +32,7 @@ private BottomNavigationHelper() { * @param scrollable is bottom bar scrollable * @return width of each tab */ - public static int[] getMeasurementsForFixedMode(Context context, int screenWidth, int noOfTabs, boolean scrollable) { + static int[] getMeasurementsForFixedMode(Context context, int screenWidth, int noOfTabs, boolean scrollable) { int[] result = new int[2]; @@ -61,7 +61,7 @@ public static int[] getMeasurementsForFixedMode(Context context, int screenWidth * @param scrollable is bottom bar scrollable * @return min and max width of each tab */ - public static int[] getMeasurementsForShiftingMode(Context context, int screenWidth, int noOfTabs, boolean scrollable) { + static int[] getMeasurementsForShiftingMode(Context context, int screenWidth, int noOfTabs, boolean scrollable) { int[] result = new int[2]; @@ -112,7 +112,7 @@ public static int[] getMeasurementsForShiftingMode(Context context, int screenWi * @param bottomNavigationTab view to which data need to be set * @param bottomNavigationBar view which holds all the tabs */ - public static void bindTabWithData(BottomNavigationItem bottomNavigationItem, BottomNavigationTab bottomNavigationTab, BottomNavigationBar bottomNavigationBar) { + static void bindTabWithData(BottomNavigationItem bottomNavigationItem, BottomNavigationTab bottomNavigationTab, BottomNavigationBar bottomNavigationBar) { Context context = bottomNavigationBar.getContext(); @@ -158,8 +158,8 @@ public static void bindTabWithData(BottomNavigationItem bottomNavigationItem, Bo * @param newColor the new color i.e ripple color * @param animationDuration duration for which animation runs */ - public static void setBackgroundWithRipple(View clickedView, final View backgroundView, - final View bgOverlay, final int newColor, int animationDuration) { + static void setBackgroundWithRipple(View clickedView, final View backgroundView, + final View bgOverlay, final int newColor, int animationDuration) { int centerX = (int) (clickedView.getX() + (clickedView.getMeasuredWidth() / 2)); int centerY = clickedView.getMeasuredHeight() / 2; int finalRadius = backgroundView.getWidth(); diff --git a/bottom-navigation-bar/src/main/java/com/ashokvarma/bottomnavigation/ShapeBadgeItem.java b/bottom-navigation-bar/src/main/java/com/ashokvarma/bottomnavigation/ShapeBadgeItem.java index a6ff3e3..41a7b5b 100644 --- a/bottom-navigation-bar/src/main/java/com/ashokvarma/bottomnavigation/ShapeBadgeItem.java +++ b/bottom-navigation-bar/src/main/java/com/ashokvarma/bottomnavigation/ShapeBadgeItem.java @@ -30,13 +30,13 @@ public class ShapeBadgeItem extends BadgeItem { public static final int SHAPE_OVAL = 0; public static final int SHAPE_RECTANGLE = 1; - // public static final int SHAPE_HEART = 2; + public static final int SHAPE_HEART = 2; public static final int SHAPE_STAR_3_VERTICES = 3; public static final int SHAPE_STAR_4_VERTICES = 4; public static final int SHAPE_STAR_5_VERTICES = 5; public static final int SHAPE_STAR_6_VERTICES = 6; - @IntDef({SHAPE_OVAL, SHAPE_RECTANGLE, SHAPE_STAR_3_VERTICES, SHAPE_STAR_4_VERTICES, SHAPE_STAR_5_VERTICES, SHAPE_STAR_6_VERTICES}) + @IntDef({SHAPE_OVAL, SHAPE_RECTANGLE, SHAPE_HEART, SHAPE_STAR_3_VERTICES, SHAPE_STAR_4_VERTICES, SHAPE_STAR_5_VERTICES, SHAPE_STAR_6_VERTICES}) @Retention(RetentionPolicy.SOURCE) @interface Shape { } @@ -178,7 +178,9 @@ void draw(Canvas canvas) { } else if (mShape == SHAPE_OVAL) { canvas.drawOval(mCanvasRect, mCanvasPaint); } else if (mShape == SHAPE_STAR_3_VERTICES || mShape == SHAPE_STAR_4_VERTICES || mShape == SHAPE_STAR_5_VERTICES || mShape == SHAPE_STAR_6_VERTICES) { - drawStar(canvas, mCanvasPaint, mShape); + drawStar(canvas, mShape); + } else if (mShape == SHAPE_HEART) { + drawHeart(canvas); } } @@ -268,11 +270,12 @@ private void refreshMargin() { /** * @param canvas on which star needs to be drawn - * @param paint used to draw star * @param numOfPt no of points a star should have */ - private void drawStar(Canvas canvas, Paint paint, int numOfPt) { + private void drawStar(Canvas canvas, int numOfPt) { double section = 2.0 * Math.PI / numOfPt; + double halfSection = section / 2.0d; + double antiClockRotation = getStarAntiClockRotationOffset(numOfPt); float x = (float) canvas.getWidth() / 2.0f; float y = (float) canvas.getHeight() / 2.0f; @@ -286,27 +289,53 @@ private void drawStar(Canvas canvas, Paint paint, int numOfPt) { innerRadius = canvas.getWidth() * 0.25f; } - mPath.reset(); mPath.moveTo( - (float) (x + radius * Math.cos(0)), - (float) (y + radius * Math.sin(0))); + (float) (x + radius * Math.cos(0 - antiClockRotation)), + (float) (y + radius * Math.sin(0 - antiClockRotation))); mPath.lineTo( - (float) (x + innerRadius * Math.cos(0 + section / 2.0)), - (float) (y + innerRadius * Math.sin(0 + section / 2.0))); + (float) (x + innerRadius * Math.cos(0 + halfSection - antiClockRotation)), + (float) (y + innerRadius * Math.sin(0 + halfSection - antiClockRotation))); for (int i = 1; i < numOfPt; i++) { mPath.lineTo( - (float) (x + radius * Math.cos(section * i)), - (float) (y + radius * Math.sin(section * i))); + (float) (x + radius * Math.cos(section * i - antiClockRotation)), + (float) (y + radius * Math.sin(section * i - antiClockRotation))); mPath.lineTo( - (float) (x + innerRadius * Math.cos(section * i + section / 2.0)), - (float) (y + innerRadius * Math.sin(section * i + section / 2.0))); + (float) (x + innerRadius * Math.cos(section * i + halfSection - antiClockRotation)), + (float) (y + innerRadius * Math.sin(section * i + halfSection - antiClockRotation))); + } + + mPath.close(); + + canvas.drawPath(mPath, mCanvasPaint); + } + + /** + * offset to make star shape look straight + * + * @param numOfPt no of points a star should have + */ + private double getStarAntiClockRotationOffset(int numOfPt) { + if (numOfPt == 5) { + return 2.0 * Math.PI / 20.0d; // quarter of (section angle for 5 point star) = 36 degrees + } else if (numOfPt == 6) { + return 2.0 * Math.PI / 12.0d; // half the (section angle for 6 point star) = 60 degrees } + return 0; + } + + private void drawHeart(Canvas canvas) { + float curveLength = canvas.getHeight() / 3; + mPath.reset(); + mPath.moveTo(canvas.getWidth() / 2, canvas.getHeight());// bottom part + mPath.lineTo(curveLength / 3, 7 * curveLength / 4); + mPath.arcTo(new RectF(0, 0, canvas.getWidth() / 2, 2 * curveLength), -225, 225); + mPath.arcTo(new RectF(canvas.getWidth() / 2, 0, canvas.getWidth(), 2 * curveLength), -180, 225); mPath.close(); - canvas.drawPath(mPath, paint); + canvas.drawPath(mPath, mCanvasPaint); } } diff --git a/gradle.properties b/gradle.properties index 62211e9..9a2bcf7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -25,7 +25,7 @@ ANDROID_BUILD_TOOLS_VERSION=25.0.2 ANDROID_BUILD_TARGET_SDK_VERSION=26 ANDROID_MIN_SDK_VERSION=14 -APP_VERSION_NAME = 2.0.0 -APP_VERSION_CODE = 11 +APP_VERSION_NAME = 2.0.1 +APP_VERSION_CODE = 12 ANDROID_SUPPORT_LIBRARY_VERSION = 25.3.1 \ No newline at end of file diff --git a/sample/src/main/java/com/ashokvarma/bottomnavigation/sample/HomeActivity.java b/sample/src/main/java/com/ashokvarma/bottomnavigation/sample/HomeActivity.java index b820c1c..f4e8f7e 100644 --- a/sample/src/main/java/com/ashokvarma/bottomnavigation/sample/HomeActivity.java +++ b/sample/src/main/java/com/ashokvarma/bottomnavigation/sample/HomeActivity.java @@ -37,9 +37,9 @@ public class HomeActivity extends AppCompatActivity implements View.OnClickListe FloatingActionButton fabHome; Spinner modeSpinner; + Spinner shapeSpinner; Spinner itemSpinner; - CheckBox bgStatic; - CheckBox bgRipple; + Spinner bgSpinner; CheckBox autoHide; Button toggleHide; @@ -66,9 +66,9 @@ protected void onCreate(Bundle savedInstanceState) { fabHome = (FloatingActionButton) findViewById(R.id.fab_home); modeSpinner = (Spinner) findViewById(R.id.mode_spinner); + bgSpinner = (Spinner) findViewById(R.id.bg_spinner); + shapeSpinner = (Spinner) findViewById(R.id.shape_spinner); itemSpinner = (Spinner) findViewById(R.id.item_spinner); - bgStatic = (CheckBox) findViewById(R.id.bg_static); - bgRipple = (CheckBox) findViewById(R.id.bg_ripple); autoHide = (CheckBox) findViewById(R.id.auto_hide); toggleHide = (Button) findViewById(R.id.toggle_hide); @@ -78,22 +78,34 @@ protected void onCreate(Bundle savedInstanceState) { scrollableText = (TextView) findViewById(R.id.scrollable_text); modeSpinner.setOnItemSelectedListener(this); + bgSpinner.setOnItemSelectedListener(this); + shapeSpinner.setOnItemSelectedListener(this); itemSpinner.setOnItemSelectedListener(this); - bgRipple.setOnCheckedChangeListener(this); - bgStatic.setOnCheckedChangeListener(this); autoHide.setOnCheckedChangeListener(this); toggleHide.setOnClickListener(this); toggleBadge.setOnClickListener(this); fabHome.setOnClickListener(this); - ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, Arrays.asList(new String[]{"MODE_DEFAULT", "MODE_FIXED", "MODE_SHIFTING", "MODE_FIXED_NO_TITLE", "MODE_SHIFTING_NO_TITLE"})); + ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, Arrays.asList(new String[]{"MODE_DEFAULT", "MODE_FIXED", "MODE_SHIFTING", "MODE_FIXED_NO_TITLE", "MODE_SHIFTING_NO_TITLE"})); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); modeSpinner.setAdapter(adapter); + modeSpinner.setSelection(2); - ArrayAdapter itemAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, Arrays.asList(new String[]{"3 items", "4 items", "5 items"})); + ArrayAdapter itemAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, Arrays.asList(new String[]{"3 items", "4 items", "5 items"})); itemAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); itemSpinner.setAdapter(itemAdapter); + itemSpinner.setSelection(2); + + ArrayAdapter shapeAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, Arrays.asList(new String[]{"SHAPE_OVAL", "SHAPE_RECTANGLE", "SHAPE_HEART", "SHAPE_STAR_3_VERTICES", "SHAPE_STAR_4_VERTICES", "SHAPE_STAR_5_VERTICES", "SHAPE_STAR_6_VERTICES"})); + shapeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + shapeSpinner.setAdapter(shapeAdapter); + shapeSpinner.setSelection(5); + + ArrayAdapter bgAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, Arrays.asList(new String[]{"BACKGROUND_STYLE_DEFAULT", "BACKGROUND_STYLE_STATIC", "BACKGROUND_STYLE_RIPPLE"})); + bgAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + bgSpinner.setAdapter(bgAdapter); + bgSpinner.setSelection(1); bottomNavigationBar.setTabSelectedListener(this); } @@ -143,16 +155,18 @@ public void onClick(View v) { } } + @Override + public void onItemSelected(AdapterView adapterView, View view, int i, long l) { + refresh(); + } + + @Override + public void onNothingSelected(AdapterView adapterView) { + + } + @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - switch (buttonView.getId()) { - case R.id.bg_ripple: - bgStatic.setChecked(!isChecked); - break; - case R.id.bg_static: - bgRipple.setChecked(!isChecked); - break; - } refresh(); } @@ -171,23 +185,15 @@ private void refresh() { .setHideOnSelect(autoHide.isChecked()); shapeBadgeItem = new ShapeBadgeItem() - .setShape(ShapeBadgeItem.SHAPE_STAR_5_VERTICES) + .setShape(shapeSpinner.getSelectedItemPosition()) .setShapeColorResource(R.color.teal) .setGravity(Gravity.TOP | Gravity.END) .setHideOnSelect(autoHide.isChecked()); - bottomNavigationBar.setMode(modeSpinner.getSelectedItemPosition()); + bottomNavigationBar.setBackgroundStyle(bgSpinner.getSelectedItemPosition()); - if (bgStatic.isChecked()) { - bottomNavigationBar - .setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_STATIC); - } else if (bgRipple.isChecked()) { - bottomNavigationBar - .setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_RIPPLE); - } - if (itemSpinner.getSelectedItemPosition() == 0) { bottomNavigationBar .addItem(new BottomNavigationItem(R.drawable.ic_location_on_white_24dp, "Nearby").setActiveColorResource(R.color.orange).setBadgeItem(numberBadgeItem)) @@ -260,14 +266,4 @@ private void setScrollableText(int position) { break; } } - - @Override - public void onItemSelected(AdapterView adapterView, View view, int i, long l) { - refresh(); - } - - @Override - public void onNothingSelected(AdapterView adapterView) { - - } } diff --git a/sample/src/main/res/drawable-hdpi/ic_github_circle_white_24dp.png b/sample/src/main/res/drawable-hdpi/ic_github_circle_white_24dp.png new file mode 100755 index 0000000000000000000000000000000000000000..da841a31fb81fbdecb8e65c20372604fb338b551 GIT binary patch literal 967 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k1|%Oc%$NbBSkfJR9T^xl_H+M9WCijWi-X*q z7}lMWc?skwBzpw;GB8xBF)%c=FfjZA3N^f7U???UV0e|lz+eS5K)hhiu0R{01Y44~ zy9wy$!fk$L9koEv$x0Bg+3=B*io-U3d5r^MS+nX)oC~<7Qr^zIx>A?Zq zj;fPNqFg`pco-;TBo`ihl%>lOt=c+YL5idEf9r|`85=flJmD#_#c=L|2{C`zT!nfo zPM&}CEM@ba?b~;6XKb~3`o`w`pJ#V(mWM@MuUDIXg<*@g)PxeJOOBqllgxe}k5}D0 zF=X18fJ?#8?|hmyfqCu$jt`wbesRoUx7yrh$r&Ql&|=EXlg{|4LHmFgw?XMzhQ$ui zQ8UaQ_^~M@-t}W;y%WJaW7oQ+md1{M+4z{3Hx@OuE^i3F7tOnO-=eMCj1#O>_fFfQ zY+&=yrEGkuHw1WWam=PkEiS!1Pq%uhX7 z_Q=(p{XKVz&-%Q*QJbd5yg*X@9?0Qw} zmvU`b7i5~VGn+FfhCYz}AS>a+XfjVqZOefTg)1gAoK?3oHe9f)@$^0? zhQETvzyHqpeouIJ`BKK$415fFNqx**DFy87UeCWS|C+NzSjx{1c z4H_UDip$cik`jwkbxVsf8PYOyQmyp$^-FRK^m7x_Gn2D*T`Ns|bCXQdy4G*}2Gqmg M>FVdQ&MBb@0DZ854FCWD literal 0 HcmV?d00001 diff --git a/sample/src/main/res/drawable-hdpi/ic_link_white_24dp.png b/sample/src/main/res/drawable-hdpi/ic_link_white_24dp.png deleted file mode 100644 index 15d9e6ea71967d610d0074892ad142fc302fc92d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmV;50d@X~P)PAvLgNC_j7Lq-E_#AWvNuewb!x~7$ z*vybevgay32YrSrdV-X`gur42YtuqpzBaY|A1JUhEb-7!lvI6;x#X;^) z4C~IxyaaL-l0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YPV z+ua371Hn({-St36QQ+wP=Z|jQRLPnW zqL>@R(eyq1g{#vfy9sIu+F}ob++1_6UUJ}aJmU7BVYZ6O){JvX^IBy(?mnFOczRk` z+t=ND@4l|tU~vCj_2+$aW!33<%lI7E~yng9s#$T%ASQvauGJ-+s z%W?S!p)(J0ZU|dYAh!BIfMBy@*YY1hOLR5AHE3<%{lk3gz)suT>g}m>Y?se||I^vn zHoj=5p~A^6g=gkYpZo4ioAab6)nSvroSCcs-c7e9jAP;Jb9V)tP8X`j{JFF2-97P| z;_WY(t_n39ChK~CG7oFYbPf2-Lm3|C4qfq$q1p`~$?Hlv%Dd?+V0oPz6`ep*UJ@q zIwxu$U@hQ0!_@A!kF9L)L{U42Jf+u<^bPL3c6+%hgQ34cIhtEr@SR_O?UenIjl9Zr zuMYo~(cBl8qSQ9$q~Qk6J$)Zu-Fzexd3|P?sc+1A!yPYfPm`I<^+Bvc@Z{btF{u-7 z@w5MDj0ip8EAXMj9T;<}C9V-ADTyViR>?)FK#IZ0z|dURz)aW3EX2Ur%Fxov#7Nt~ zz{xGdc&DX}bbXs|hBmO7)bM)9{iq!f0nb>HeJ2s*jG tvbg-CyJGN%1|RUL7zNJ54krKr002ovPDHLkV1f}TVK4vy diff --git a/sample/src/main/res/drawable-xhdpi/ic_github_circle_white_24dp.png b/sample/src/main/res/drawable-xhdpi/ic_github_circle_white_24dp.png new file mode 100755 index 0000000000000000000000000000000000000000..8ec0f1b0d3380e4a85109f3c5f25c7bffbc5dc06 GIT binary patch literal 1152 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmUKs7M+SzC{oH>NS%G}U;vjb? zhIQv;UIIA^$sR$z3=CCj3=9n|3=F@3LJcn%7)pVryh>nTu$sZZAYL$MSD+10f-TA0 z-33Sk!B6Mi^+1ZVz$3C4NPB>>+sSM@1_owFPZ!6KjC*fqczc8dN*v#Bo%GCPYG8AJ zQFP$K394IPcnawDo{{U$xU0wE(#_Sx)F~pod0Xz$rb!AD5sv_uiecEKYlNE;Qrc>coA;|ND#ip5J@lArf%lKd(B6&;k#aSFS1j9alO}R0*yW znK(nrNLOjGl97tidY2RjmpF^Q&*^cOnXeuYO_*`!BjXO9H8c4i7cOA;NJ+fY&vJox z4cF;Eh6zRtkL!FG+&^XRk=QYn{c+tLhOTBadDdUf2KL>*9ZXKlN8As8=1!U{!=xb zcy-dPm#@P9sLwJlb2(h<656C&NqcI_!gRx99E7^?ko+QUNp^)WMm<|XD-prMl^h7tbVL4mV zjE*_y!WjfDm6eupRwWs8Z_SK*9(-Wgg1OpvU(VTouz};<(#f2Q9da9YyYb@cso?`9Sdj9J&=ECv8wQ+qJOy=R#*Q=7v6TQpTO>5T)+^K_CS|e zs-gHm!_vY6>#aLV8C0*mRNmQpTRUWN{*!p-Zr(Yn2No>N)W5Yk^4`-O)pxtQS8bcW zlkINzWU)QIlC$Iu*JfF5bd$enzQF0~H^%dg@dqRd&Zo^Roc-UYKtubp+`-j$hq5g{ ziKZs((^dcMWx({M(j&b=*s|!>0`c3)mz@l_?tJ9@!tCCd>mYkUAfX|yY2Qx`(to&d9VPZTjQ}klHVmY4)49;%OarASbcD}jmT#^Wzhqbrq%k!6?p@)8(b@n2 literal 0 HcmV?d00001 diff --git a/sample/src/main/res/drawable-xhdpi/ic_link_white_24dp.png b/sample/src/main/res/drawable-xhdpi/ic_link_white_24dp.png deleted file mode 100644 index 608b92cf51444156ea4cae2e87aa44d767dce2ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 459 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(Fi!GxaSW-r^>)VDEG9>uYOK? zTxWD_h5Ixi21WrmYWUB8fz8)JJAh}G)b>Dmz1@r6t7i11|KmI$@Fn-pS@DKjtR@;v z7nt_W`V%Iiu#qGABijkCf9zXW_gcIB-FfZ(g>tbL@dFngJrTab%&IDu+K^eiVb1;M zOj~p<_p`N%mQ7c`&~~I?TkO2t&qsi7n=r2!s#U%Ht$sIc>7={z#* zOg+cAU^d^4ORM<)Np_p%>fdR9<7Aen)wYB6zgtqrPX3vPwk#|=vhR+j;RgZZ2Pu~O zUt6DXm2_Rcacivw*zNCY($9SAyBx@T>}BS?LaRV|_LZv`AFbJP^0TL8!ascj`%+E@ tso#HOcJpTEOy4iWq`-hc0rTq^r|w9oT{$oIEijT8JYD@<);T3K0RTRsx`F@z diff --git a/sample/src/main/res/drawable-xxhdpi/ic_github_circle_white_24dp.png b/sample/src/main/res/drawable-xxhdpi/ic_github_circle_white_24dp.png new file mode 100755 index 0000000000000000000000000000000000000000..2fbff408a4c3a82bdcf1655ca3f3bed23cc90ce9 GIT binary patch literal 1795 zcmZ{kX*An;7sr40tx3^Ni=(N%v8SR%ETaVZTS}2ZJ1P;0hCvY2k|J$~PIXG`CQMbV z_1MBpD^n9=_oPf?nU+#TYi~2Q9?aB}&bxW>+;i^zoO|#2p6{D`?j4_tZZJg+MF0Q{ z!eM>I#C=YAS#ia0aNWd^4!_`a0f5%~N`Db$#JxnkubUHS8qr)4H(Df|uNMF*1^{H- z0$^V}%2);<0R_M+0RT)104Hhe&P#UUg>0yY8&*tl>^bw&#ZaK(g5t&e#}l{?MLGZ= z(+goQ_+OveU|-3`m&8^iG;koDIn&yUN*NsF>($rhreq^; z=AxKdmdo1u14@&Qo_>Cc$#+x@nQG=L^w|F1Y3uzp;)kIH+AewH>1Ys%{Utk#m>$VE z+?if#oW7dMDT`>RuPKY@^d(PRl+P)kH*==-ykK9F^zY?aS{$*}ufHPvk#&Q$&E@>f z!aQ3qh`CmnVWAQTqf0&w3osX*6G@`FlX%|&wA>4Y?Y9}K)eZ!?-`9ENL41K+S3M{| zCP>CJezt{`+~M~dG1cof_z7J$*zO=nwn)A<#GYT(m0ZBAmz&-4s?M2}`S#%3G0?te zpi-4cpjVuyRLDsz=rPQwoqzBO8l_m51?%@sZlfh6U7?5o)JvY~b`>XxGP!WMWuyc6 znAhV2;F?fpkg&*v!9r_6A8--7GxJBvjH%_3+OFvzzXwUG>jN-=W|bB`2rd`>wk`B-Vaets*?p5NQPftcqn zZ;0T1D@y39!=q>(l3L6OcD&2kVbv7$9wKJrbVq}JvTirkm6#E>+S0*5Jtx5Wnlaa z7(caeUOsgw7OwqFUG>oH%dlZlYPOR`thAtTzy2ARz+KTDE%O2xl%j3uBVdMKAQ)0qMd`EG zIC!^7EbMVqOY=6Yw)bEQ-Zd(z+ol(^n7fGVvZ^)vc-4C|r_*2Q;p%s5H=~n8?au|W zJ<8^g1((Zmh(oGAL957JYj9?cra2F-7`FY#MPh302Um5*lJfNN1Z}v_l=i``((*sO zNDl<-?aZiROO4Z?$IipUJVsCU^Vfz8I!T7}AUMBmv$D&ux6Xn5b=Z{!P(2gndEm8G z**?3rHvu0QZ+;G zV}rA$#^2@=@?tc|i)~)<)~imM4{pL0PDqd#$5u|Ft_st#bn>F^NiAB~A`Ga7AtuGt zj#o9O&A9I!9d&85M3=O(?$*=e((G8#j0bH}%dZWdg#`x+7hCt4V<7Fr@)P@}5sv8} z8{Z>h3da@w8JlV&eTl=2kTkanPX1t`(@sFc^*Yr+c{*8?jK~`J{nAj9tN$k{kv`3C zeqV-g3{}M>P^5myysJJ3+D{NeqowyEd)9g~@zSZhOH)d}xYD9A8#<5K#j*Uq`ItE$ zS7dcr@Ob%@U(IF@U%)D{#ib8-D3!d+O_vn~NI1H8@RY49yWeH&EoJoS$KLfTOGV$z z+L4iRPg`G)pm|^)rf1Z!9>Wy+Q-(wpGN{Z4A;wN$*gAeOp&esb}tJee%gs;EzU1H=A{QvvcgscM+_{7T9>Ug@AH@q(Tb+`9b^U^JD zr4S)=ME835BQ~O*_P)brjt+W^;7H3U+}^oS^|?0}SpE8BRC`Ww(uUCSirm_1?i6!oja% zu5rBeXTm6EZXuy~H7)Vkk|?_mn6NDdUYhGIv_q#33T`|KolVoRuAc0F8(CKyH~x_h z*`NHa(|CWd-smt{;_+3Xlp-QL{ThX#zNT(OeZo;;U4GX1NaIuFKTlL#4y!-OlP+~mUG$D=(DAaGr7;|%TdKAq(iWp8MMVf|q#YcQY VqF`$UMIB-dfLtzOo16&D{{f_M9Ay9i literal 0 HcmV?d00001 diff --git a/sample/src/main/res/drawable-xxhdpi/ic_link_white_24dp.png b/sample/src/main/res/drawable-xxhdpi/ic_link_white_24dp.png deleted file mode 100644 index 9968cb9d3cc51fc2d8dc30cad5c52e8922dc85f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 680 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 literal 0 HcmV?d00001 diff --git a/sample/src/main/res/drawable-xxxhdpi/ic_link_white_24dp.png b/sample/src/main/res/drawable-xxxhdpi/ic_link_white_24dp.png deleted file mode 100644 index 3b853cf91e48916d5a5ad3d4ee758e25bd9d9a3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 916 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>V2<{5aSW-r^>((e{}l&`hUxuB zADsMA=per7q1PfcuLt!r91g8lD0uLC)uB)(rDFvTJrr(wJgFDRQ+cKLx=}}t^3Y zC_;>{MflVmK~Wa%phCZ+>%Fobhdi_Lp?s2irbqo=~q5 zUhpVD;*3|ruFw5Ve-61bYS|sD6nezbVf=OumuaGV#dLw-|C8eC-M@b|Ic8ygS7N^{nLheCRsI<9S}*2bfP^J;$GDcC!1V^QovKOOO7DK6KZFB`4Zs-Mc9p z_4H(I#H7S3ZxrYz+<2t?y1OoA_ue|=Mf}TFkgjM%!y>t&x5?s6hwS!cad52d-WtQf5&i$Yg2D~coO=oj zF0&f2KDA-}D8#pX;y3S#`vwhOjjTOs8+l@lOpM|m@EZo_iN$ct*r4G!oqNWgXs62) zWjfX@7*_lO^v~Ni2^rH7Q$ZuH7~1Px`KB@?!e2@7P1W%(@m*C#&i3X|>qX zO4aleU#C5pcC^cBYWn<=pL6qz-<8_-+9sBYeLA%0qjqeY?2Ap}@4Aj|S^Oww$K-1p zr@Z8N{n}V}(XE4>@>jjjrnMCA_jn!QHD%?Cc9O5v4{Tm> zo9i-im5LP|E}D7mCDRp&`!11LX^IPat@^%OJ>xo5&R7~7Cs8zWvq^oh?DhMM)m6!h zQUlL@a6GW}-Rq6-emAYl`nF`EcHOjR{*{DNF)Xp~YLD+xY7i2f$La^nZ492SelF{r G5}E)`dXE(V diff --git a/sample/src/main/res/layout/activity_home.xml b/sample/src/main/res/layout/activity_home.xml index 2f35215..1f25778 100644 --- a/sample/src/main/res/layout/activity_home.xml +++ b/sample/src/main/res/layout/activity_home.xml @@ -20,87 +20,96 @@ + android:background="@color/white" + android:orientation="vertical" + android:paddingBottom="16dp" + android:paddingTop="16dp"> + - - - - - - - - - - - - -