mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
feat(android): tab view icon rendering mode (#9605)
Co-authored-by: wSedlacek <wsedlacekc@gmail.com>
This commit is contained in:
committed by
Nathan Walker
parent
08028dd9f4
commit
66d8afffc1
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user