Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Show & Hide methods when on shy mode. #722

Merged
merged 5 commits into from
Mar 31, 2017
Merged

Conversation

roughike
Copy link
Owner

This needs some input:

  • Is the method naming on point? Could it be misinterpreted somehow?
  • Do we want to support hide / show methods when NOT on shy mode? The layouts can be quite complex and I personally think hiding the regular (=not shy) BottomBars should probably be the user's job, as this is a regular view after all.

@coveralls
Copy link

Coverage Status

Coverage decreased (-0.9%) to 64.402% when pulling 8c24f3c on feature/show-and-hide into 40c6fdd on development.

@coveralls
Copy link

Coverage Status

Coverage decreased (-0.9%) to 64.402% when pulling 8c24f3c on feature/show-and-hide into 40c6fdd on development.

@yombunker
Copy link
Collaborator

@roughike names do sound kind of weird and confusing, but, this is also a functionality that is only available under certain circumstances

@yombunker
Copy link
Collaborator

@roughike the only way i can think of this not been weird, is if the shy behavior is not an added, but, another view that extends from BottomBar and that has those methods, so that you can only use the shy behavior on that view, and thus the normal bar will not have the show/hide methods, but, seems to be quite a breaking change to do that (maybe a good thing maybe not)

…ince they were only related for a shy BottomBar.
@roughike
Copy link
Owner Author

I made some changes. Now the usage looks like this:

bottomBar.getShySettings().showBar();
bottomBar.getShySettings().hideBar();

Let me know if this could be improved upon further.

# Conflicts:
#	bottom-bar/src/main/java/com/roughike/bottombar/BottomBar.java
@roughike
Copy link
Owner Author

The reason for not making a ShyBottomBar that extends from BottomBar is that if somebody would like to use a shy BottomBar on mobile, but a tablet one on tablets, that would require some different logic and possibly casting.

Now that I'm thinking of it, would it be better to have the getShySettings() return null instead of throwing an exception? That way, on tablets there's no need for try-catch if you're showing / hiding shy BottomBars on mobile mode. Or maybe make all calls getShySettings() no-ops and display a log warning message when the bar isn't shy?

@yombunker
Copy link
Collaborator

@roughike i would rather have the no-op than having to check for nullity

@roughike
Copy link
Owner Author

No-op with log warnings is added in the latest commit.

@coveralls
Copy link

Coverage Status

Coverage decreased (-1.6%) to 63.216% when pulling f7decf5 on feature/show-and-hide into 19f8300 on development.

@coveralls
Copy link

Coverage Status

Coverage decreased (-1.6%) to 63.216% when pulling f7decf5 on feature/show-and-hide into 19f8300 on development.

@roughike roughike merged commit 9fe6776 into development Mar 31, 2017
roughike added a commit that referenced this pull request Apr 6, 2017
* Data binding fixes clean (#712)

* Fix Bottom Bar issues with Android Data Binding

* keep .idea

* travis changes

* Fix for shadow (#716)

* - Removing the view for API 21
- Adding a negative margin for API 20 or less so that the content is overlapped with the shadow
- Fix the annotation for the MiscUtils

* - Removing the view for API 21
- Adding a negative margin for API 20 or less so that the content is overlapped with the shadow
- Fix the annotation for the MiscUtils

* - Removing the view for API 21
- Adding a negative margin for API 20 or less so that the content is overlapped with the shadow
- Fix the annotation for the MiscUtils

* SelectableItemBackground Ripple! (#713)

* Add selectableItemBackground programmatically which shows user touch response with either ripple or slight change of colour if below lollipop.

* Remove style in tablet mode which makes ripple go out of bounds. Without it ripple is contained within its view.

* Remove unnecessary local reference.

* Added getTypedValue and getDrawableRes methods in MiscUtils and changed to selectableItemBackgroundBorderless.

* Change color to resId.

* Fix for wrong size in tabs

- Setting the modified LayoutParams so that the views are changed (#719)

* Tabs without titles (#717)

* Update CHANGELOG.md

* Update README.md

* Update README.md

* Basic support for tabs that have no title, only icons.

* Reverted debug code.

* Made sure that icon-only tabs throw an exception if they don't have icons.

* There's no need to set visibility to the title, as it's already visible.

* Added a sample for the icons only mode.

* Made the titleless mode combined with shifting mode work.

* Removed the eight dp padding from XML layout, since that offsets titleless tab icons from the center & isn't needed anyway since it's set dynamically.

* Added some zoom to active tab icons that are both shifting and titleless.

* Cleared up the select & unselect methods.

* Modified the color changing tabs sample height, so it looks less crammed and more like the design specs.

* Show & Hide methods when on shy mode. (#722)

* Added methods for showing / hiding the BottomBar when on shy mode.

* Better naming.

* Refactored the hide / show methods to a separate ShySettings class, since they were only related for a shy BottomBar.

* Made getting shy settings not throw an exception when the bottombar isn't shy, but have a log warning instead.

* Made it possible to have individual titleless tabs. (#726)

* Feature/optional long press toasts (#714)

* Update CHANGELOG.md

* Update README.md

* Update README.md

* Made it possible to control whether or not the Toasts are shown when long pressing tabs.

* Updated changelog.

* v2.3.0 (#732)

* Update CHANGELOG.md

* Update README.md

* Update README.md

* Bumped up version number.

* Updated Changelog & Readme
@roughike roughike deleted the feature/show-and-hide branch April 8, 2017 08:39
roughike pushed a commit that referenced this pull request Apr 12, 2017
* Data binding fixes clean (#712)

* Fix Bottom Bar issues with Android Data Binding

* keep .idea

* travis changes

* Fix for shadow (#716)

* - Removing the view for API 21
- Adding a negative margin for API 20 or less so that the content is overlapped with the shadow
- Fix the annotation for the MiscUtils

* - Removing the view for API 21
- Adding a negative margin for API 20 or less so that the content is overlapped with the shadow
- Fix the annotation for the MiscUtils

* - Removing the view for API 21
- Adding a negative margin for API 20 or less so that the content is overlapped with the shadow
- Fix the annotation for the MiscUtils

* SelectableItemBackground Ripple! (#713)

* Add selectableItemBackground programmatically which shows user touch response with either ripple or slight change of colour if below lollipop.

* Remove style in tablet mode which makes ripple go out of bounds. Without it ripple is contained within its view.

* Remove unnecessary local reference.

* Added getTypedValue and getDrawableRes methods in MiscUtils and changed to selectableItemBackgroundBorderless.

* Change color to resId.

* Fix for wrong size in tabs

- Setting the modified LayoutParams so that the views are changed (#719)

* Tabs without titles (#717)

* Update CHANGELOG.md

* Update README.md

* Update README.md

* Basic support for tabs that have no title, only icons.

* Reverted debug code.

* Made sure that icon-only tabs throw an exception if they don't have icons.

* There's no need to set visibility to the title, as it's already visible.

* Added a sample for the icons only mode.

* Made the titleless mode combined with shifting mode work.

* Removed the eight dp padding from XML layout, since that offsets titleless tab icons from the center & isn't needed anyway since it's set dynamically.

* Added some zoom to active tab icons that are both shifting and titleless.

* Cleared up the select & unselect methods.

* Modified the color changing tabs sample height, so it looks less crammed and more like the design specs.

* Show & Hide methods when on shy mode. (#722)

* Added methods for showing / hiding the BottomBar when on shy mode.

* Better naming.

* Refactored the hide / show methods to a separate ShySettings class, since they were only related for a shy BottomBar.

* Made getting shy settings not throw an exception when the bottombar isn't shy, but have a log warning instead.

* Made it possible to have individual titleless tabs. (#726)

* Feature/optional long press toasts (#714)

* Update CHANGELOG.md

* Update README.md

* Update README.md

* Made it possible to control whether or not the Toasts are shown when long pressing tabs.

* Updated changelog.

* - Fix for shadow not respecting flag
   - API 21+ was not using the flag at all
   - API 20- where not removing the margin when no shadow was displayed
   - API 20- set the default visibility of the shadow to GONE
yombunker pushed a commit that referenced this pull request Apr 13, 2017
* Bug fix/shadow not respecting flag (#749)

* Data binding fixes clean (#712)

* Fix Bottom Bar issues with Android Data Binding

* keep .idea

* travis changes

* Fix for shadow (#716)

* - Removing the view for API 21
- Adding a negative margin for API 20 or less so that the content is overlapped with the shadow
- Fix the annotation for the MiscUtils

* - Removing the view for API 21
- Adding a negative margin for API 20 or less so that the content is overlapped with the shadow
- Fix the annotation for the MiscUtils

* - Removing the view for API 21
- Adding a negative margin for API 20 or less so that the content is overlapped with the shadow
- Fix the annotation for the MiscUtils

* SelectableItemBackground Ripple! (#713)

* Add selectableItemBackground programmatically which shows user touch response with either ripple or slight change of colour if below lollipop.

* Remove style in tablet mode which makes ripple go out of bounds. Without it ripple is contained within its view.

* Remove unnecessary local reference.

* Added getTypedValue and getDrawableRes methods in MiscUtils and changed to selectableItemBackgroundBorderless.

* Change color to resId.

* Fix for wrong size in tabs

- Setting the modified LayoutParams so that the views are changed (#719)

* Tabs without titles (#717)

* Update CHANGELOG.md

* Update README.md

* Update README.md

* Basic support for tabs that have no title, only icons.

* Reverted debug code.

* Made sure that icon-only tabs throw an exception if they don't have icons.

* There's no need to set visibility to the title, as it's already visible.

* Added a sample for the icons only mode.

* Made the titleless mode combined with shifting mode work.

* Removed the eight dp padding from XML layout, since that offsets titleless tab icons from the center & isn't needed anyway since it's set dynamically.

* Added some zoom to active tab icons that are both shifting and titleless.

* Cleared up the select & unselect methods.

* Modified the color changing tabs sample height, so it looks less crammed and more like the design specs.

* Show & Hide methods when on shy mode. (#722)

* Added methods for showing / hiding the BottomBar when on shy mode.

* Better naming.

* Refactored the hide / show methods to a separate ShySettings class, since they were only related for a shy BottomBar.

* Made getting shy settings not throw an exception when the bottombar isn't shy, but have a log warning instead.

* Made it possible to have individual titleless tabs. (#726)

* Feature/optional long press toasts (#714)

* Update CHANGELOG.md

* Update README.md

* Update README.md

* Made it possible to control whether or not the Toasts are shown when long pressing tabs.

* Updated changelog.

* - Fix for shadow not respecting flag
   - API 21+ was not using the flag at all
   - API 20- where not removing the margin when no shadow was displayed
   - API 20- set the default visibility of the shadow to GONE

* Bumped up version numbers & updated changelog for new release.
yombunker pushed a commit that referenced this pull request May 28, 2017
* v2.3.1 (#751)

* Bug fix/shadow not respecting flag (#749)

* Data binding fixes clean (#712)

* Fix Bottom Bar issues with Android Data Binding

* keep .idea

* travis changes

* Fix for shadow (#716)

* - Removing the view for API 21
- Adding a negative margin for API 20 or less so that the content is overlapped with the shadow
- Fix the annotation for the MiscUtils

* - Removing the view for API 21
- Adding a negative margin for API 20 or less so that the content is overlapped with the shadow
- Fix the annotation for the MiscUtils

* - Removing the view for API 21
- Adding a negative margin for API 20 or less so that the content is overlapped with the shadow
- Fix the annotation for the MiscUtils

* SelectableItemBackground Ripple! (#713)

* Add selectableItemBackground programmatically which shows user touch response with either ripple or slight change of colour if below lollipop.

* Remove style in tablet mode which makes ripple go out of bounds. Without it ripple is contained within its view.

* Remove unnecessary local reference.

* Added getTypedValue and getDrawableRes methods in MiscUtils and changed to selectableItemBackgroundBorderless.

* Change color to resId.

* Fix for wrong size in tabs

- Setting the modified LayoutParams so that the views are changed (#719)

* Tabs without titles (#717)

* Update CHANGELOG.md

* Update README.md

* Update README.md

* Basic support for tabs that have no title, only icons.

* Reverted debug code.

* Made sure that icon-only tabs throw an exception if they don't have icons.

* There's no need to set visibility to the title, as it's already visible.

* Added a sample for the icons only mode.

* Made the titleless mode combined with shifting mode work.

* Removed the eight dp padding from XML layout, since that offsets titleless tab icons from the center & isn't needed anyway since it's set dynamically.

* Added some zoom to active tab icons that are both shifting and titleless.

* Cleared up the select & unselect methods.

* Modified the color changing tabs sample height, so it looks less crammed and more like the design specs.

* Show & Hide methods when on shy mode. (#722)

* Added methods for showing / hiding the BottomBar when on shy mode.

* Better naming.

* Refactored the hide / show methods to a separate ShySettings class, since they were only related for a shy BottomBar.

* Made getting shy settings not throw an exception when the bottombar isn't shy, but have a log warning instead.

* Made it possible to have individual titleless tabs. (#726)

* Feature/optional long press toasts (#714)

* Update CHANGELOG.md

* Update README.md

* Update README.md

* Made it possible to control whether or not the Toasts are shown when long pressing tabs.

* Updated changelog.

* - Fix for shadow not respecting flag
   - API 21+ was not using the flag at all
   - API 20- where not removing the margin when no shadow was displayed
   - API 20- set the default visibility of the shadow to GONE

* Bumped up version numbers & updated changelog for new release.

* Replaced faulty onAnimationEnd listener by postDelayed call (#708) (#774)

* Bumped Support Library to 25.3.1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants