nativescript - 使用适用于 Android 和 ios 的 Angular NativeScript 的透明选项卡栏和操作栏

标签 nativescript nativescript-angular

我想让标签栏透明,操作栏在滑动布局或页面上透明。操作栏或选项卡栏必须位于页面顶部,就像两层一样

我尝试使用 css 使其透明,但它在页面上并没有变得透明。

<ActionBar title="Name" backgroundColor="#00000000"></ActionBar>

<TabView androidTabsPosition="bottom" selectedTabTextColor="white">
   <page-router-outlet
      *tabItem="{iconSource: getIconSource('test')}"
       name="homeTab">
    </page-router-outlet>

    <page-router-outlet
        *tabItem="{iconSource: getIconSource('test2')}"
        name="locationTab">
    </page-router-outlet>

    <page-router-outlet
        *tabItem="{iconSource: getIconSource('test3')}"
        name="searchTab">
    </page-router-outlet>
</TabView>

页面上的透明操作栏

Example

最佳答案

使用您选择的背景图像或颜色设置页面/根布局的样式

.page {
       background: url(https://cdn.pixabay.com/photo/2017/08/12/10/13/background-2633962__340.jpg);
       background-repeat: no-repeat;
       background-size: cover;
    }

安卓

  • ActionBarbackgroundColor设置为透明
  • 根据loaded事件调整Page元素单位系统

    onLoaded(event: EventData) {
        const layout = <GridLayout>event.object,
           page = layout.page;
    
        if (page.android) {
           page.android.removeRowAt(0);
        }
    }
    
  • 调整根布局的内边距,使内容不会与 ActionBar 重叠

iOS

根据loaded事件调整ActionBar属性

onActionBarLoaded(event: EventData) {
    const actionBar = <ActionBar>event.object;
    if (actionBar.ios) {
        (<any>actionBar).updateFlatness = function (navBar) {
            actionBar.ios.setBackgroundImageForBarMetrics(UIImage.new(), UIBarMetrics.Default);
            actionBar.ios.translucent = true;
        };
    }
}

Playground Sample (针对 v5.x 验证兼容性)

关于nativescript - 使用适用于 Android 和 ios 的 Angular NativeScript 的透明选项卡栏和操作栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56482879/

相关文章:

IOS 自动生成配置文件和证书

android - NativeScript + Angular 2 : Use of back button click listener

javascript - 如何处理 nativescript 应用程序中的错误?

nativescript - 如何从我的 nativescript angular 项目访问我由 android studio 创建的 aar 库?

nativescript - 如何在 NativeScript 中访问 android 的 R 对象?

nativescript - 在 Nativescript 代码共享项目中使用 Angular 库

angular - Ngx-translate 给出 404 错误 Nativescript angular

android - 如何使用 Nativescript 从 android 画廊中选择图片?

sqlite - 通过 nativescript 应用程序和数据库同步脱机

ios - 有没有办法在 iOS 平台上的 NativeScript 应用程序中捕获和取消后退按钮事件?