feat(android): tab view icon rendering mode (#9605)

Co-authored-by: wSedlacek <wsedlacekc@gmail.com>
This commit is contained in:
William Sedlacek
2022-02-16 19:10:31 -08:00
committed by Nathan Walker
parent 08028dd9f4
commit 66d8afffc1
9 changed files with 104 additions and 11 deletions

View File

@@ -1,14 +1,19 @@
import { isIOS } from '@nativescript/core';
import { EventData } from '@nativescript/core/data/observable';
import { Button } from '@nativescript/core/ui/button';
import { TabView } from '@nativescript/core/ui/tab-view';
let iconModes = ['automatic', 'alwaysOriginal', 'alwaysTemplate', undefined];
let iconModes = isIOS ? ['automatic', 'alwaysOriginal', 'alwaysTemplate', undefined] : ['alwaysOriginal', 'alwaysTemplate', undefined];
export const onNavigate = updateButtons;
export function onChangeRenderingMode(args: EventData) {
let tabView = (<Button>args.object).page.getViewById<TabView>('tab-view');
tabView.iosIconRenderingMode = <'automatic' | 'alwaysOriginal' | 'alwaysTemplate'>iconModes[(iconModes.indexOf(tabView.iosIconRenderingMode) + 1) % iconModes.length];
if (isIOS) {
tabView.iosIconRenderingMode = <'automatic' | 'alwaysOriginal' | 'alwaysTemplate'>iconModes[(iconModes.indexOf(tabView.iosIconRenderingMode) + 1) % iconModes.length];
} else {
tabView.androidIconRenderingMode = <'alwaysOriginal' | 'alwaysTemplate'>iconModes[(iconModes.indexOf(tabView.androidIconRenderingMode) + 1) % iconModes.length];
}
updateButtons(args);
}
@@ -16,6 +21,7 @@ function updateButtons(args) {
let button = <Button>args.object;
let tabView = button.page.getViewById<TabView>('tab-view');
for (let i = 0, length = tabView.items.length; i < length; i++) {
(<Button>tabView.items[i].view).text = '' + tabView.iosIconRenderingMode;
const value = isIOS ? tabView.iosIconRenderingMode : tabView.androidIconRenderingMode;
(<Button>tabView.items[i].view).text = '' + value;
}
}

View File

@@ -1,14 +1,19 @@
import { isIOS } from '@nativescript/core';
import { EventData } from '@nativescript/core/data/observable';
import { Button } from '@nativescript/core/ui/button';
import { TabView } from '@nativescript/core/ui/tab-view';
let iconModes = ['automatic', 'alwaysOriginal', 'alwaysTemplate', undefined];
let iconModes = isIOS ? ['automatic', 'alwaysOriginal', 'alwaysTemplate', undefined] : ['alwaysOriginal', 'alwaysTemplate', undefined];
export const onNavigate = updateButtons;
export function onChangeRenderingMode(args: EventData) {
let tabView = (<Button>args.object).page.getViewById<TabView>('tab-view');
tabView.iosIconRenderingMode = <'automatic' | 'alwaysOriginal' | 'alwaysTemplate'>iconModes[(iconModes.indexOf(tabView.iosIconRenderingMode) + 1) % iconModes.length];
if (isIOS) {
tabView.iosIconRenderingMode = <'automatic' | 'alwaysOriginal' | 'alwaysTemplate'>iconModes[(iconModes.indexOf(tabView.iosIconRenderingMode) + 1) % iconModes.length];
} else {
tabView.androidIconRenderingMode = <'alwaysOriginal' | 'alwaysTemplate'>iconModes[(iconModes.indexOf(tabView.androidIconRenderingMode) + 1) % iconModes.length];
}
updateButtons(args);
}
@@ -16,6 +21,7 @@ function updateButtons(args) {
let button = <Button>args.object;
let tabView = button.page.getViewById<TabView>('tab-view');
for (let i = 0, length = tabView.items.length; i < length; i++) {
(<Button>tabView.items[i].view).text = '' + tabView.iosIconRenderingMode;
const value = isIOS ? tabView.iosIconRenderingMode : tabView.androidIconRenderingMode;
(<Button>tabView.items[i].view).text = '' + value;
}
}