如何使用带有 Titanium 的 Android 材质主题设计属性(彩色状态栏,...)

Posted

技术标签:

【中文标题】如何使用带有 Titanium 的 Android 材质主题设计属性(彩色状态栏,...)【英文标题】:How to use Android Material Theme Design Attributes with Titanium (colored status bar, ...) 【发布时间】:2015-07-12 23:39:10 【问题描述】:

我想为我的 Titan android 应用程序使用 Android 主题属性:

https://developer.android.com/training/material/theme.html

应用程序必须向后兼容 Lollipop (API 21) 之前的设备。

【问题讨论】:

请检查这个 github 模块:github.com/nuno/Ti.DrawerLayout-Demo-Alloy-App 【参考方案1】:

Titanium SDK 4.0.0RC+ 现在直接支持 Theme.AppCompat,带有着色的操作栏和状态栏,使用向后兼容的主题属性。

首先将您的 Titan CLI 和 SDK 更新到 4.0.0RC+

npm install titanium@4.0.0-beta7 (newest at the time of writing)

在您的 tiapp.xml 中引用您的主题定义:

<android xmlns:android="http://schemas.android.com/apk/res/android">
    <manifest>
        <application android:theme="@style/materialTheme"/>
    </manifest>
</android>

并更改 SDK 版本:

<sdk-version>4.0.0.RC</sdk-version>

定义你的主题属性:platform/android/res/values/custom_theme.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="materialTheme" parent="@style/Theme.AppCompat">
    <item name="colorPrimary">#1565C0</item>
    <item name="colorPrimaryDark">#0D47A1</item>
    <item name="colorAccent">#FF80AB</item>
    <item name="colorControlNormal">#757575</item>
    <item name="colorControlActivated">#FF6E40</item>
    <item name="colorControlHighlight">#FF4081</item>
    <item name="colorSwitchThumbNormal">#BDBDBD</item>
    <item name="android:colorButtonNormal">#BDBDBD</item>
    <item name="android:colorEdgeEffect">#FF4081</item>
</style>
</resources>

【讨论】:

谢谢,它帮助了 :) 我们可以根据我们的要求在运行时更新这些颜色吗?

以上是关于如何使用带有 Titanium 的 Android 材质主题设计属性(彩色状态栏,...)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iPhone 和 Android 的 Titanium 中实现 Google Analytic?

如何在Android中使用Appcelerator Titanium构建Oauth 2.0

Titanium - 如何将视图发送到另一个页面?

Titanium 在用户单击通知时如何运行一些代码? (安卓)

Titanium (Android) - 邀请 Facebook 好友 -> 错误

Titanium共享Intent与页面链接