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

feat(): local icon handling in actionbar and tabview #7009

Merged
merged 3 commits into from
Mar 12, 2019

Conversation

MartoYankov
Copy link
Contributor

PR Checklist

What is the current behavior?

On Android, icons rendered in TabView and Actionbar are not scaled correctly due to the use of a deprecated native Android constructor https://developer.android.com/reference/android/graphics/drawable/BitmapDrawable#BitmapDrawable(android.graphics.Bitmap).

On iOS, there was no property on ActionBar to specify icon rendering mode and it is hard coded to alwaysOriginal, which made the use of image icons limited.

What is the new behavior?

Fixed the Android issue with the use of the new constructor.

Added iosIconRenderingMode on ActionBar. To avoid breaking changes, on ActionBar this property defaults to alwaysOriginal and on TabView, it defaults to automatic. We should probably change this for 6.0.

Fixes #5887

Tests

  • Added 2 new e2e tests for Action Bar - actLocalIcons and actResIcons.
  • Added 1 new e2e test for TabView - tab-view-icons-local

@MartoYankov MartoYankov added e2e test needed docs needed Additional documentation on this issue/PR is needed labels Mar 8, 2019
@MartoYankov MartoYankov self-assigned this Mar 8, 2019
@cla-bot cla-bot bot added the cla: yes label Mar 8, 2019
@ghost ghost added the in progress label Mar 8, 2019
@SvetoslavTsenov
Copy link
Contributor

test ios#/tns-dist/tns-ios/PR/e34f49eb5af64946cf1257bd2b39760518235427/tns-ios.tgz

@@ -241,7 +253,8 @@ export class ActionBar extends ActionBarBase {
barButtonItem = UIBarButtonItem.alloc().initWithBarButtonSystemItemTargetAction(id, tapHandler, "tap");
} else if (item.icon) {
const img = loadActionIconFromFileOrResource(item.icon);
barButtonItem = UIBarButtonItem.alloc().initWithImageStyleTargetAction(img, UIBarButtonItemStyle.Plain, tapHandler, "tap");
const image = img.imageWithRenderingMode(this._getIconRenderingMode());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Guard the img usage as here

?

@SvetoslavTsenov SvetoslavTsenov merged commit cd66300 into master Mar 12, 2019
@ghost ghost removed the in progress label Mar 12, 2019
@SvetoslavTsenov SvetoslavTsenov deleted the myankov/android-icons branch March 12, 2019 13:08
@lock
Copy link

lock bot commented Mar 17, 2020

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock bot locked and limited conversation to collaborators Mar 17, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
cla: yes docs needed Additional documentation on this issue/PR is needed
Projects
Status: 🆕 New
Development

Successfully merging this pull request may close these issues.

Android uses deprecated method to create Drawable from Bitmap
3 participants