2016-03-02 39 views
2

我有一個使用Xamarin Forms 2.0的Android應用程序。我做了一個自定義主題來設置一些顏色。我創建這些文件:Xamarin表單自定義主題不起作用

資源/價值/ styles.xml(AndroidResource)

<?xml version="1.0" encoding="utf-8" ?> 
<resources> 
    <style name="SmartbitLight" parent="SmartbitLight.Base"> 

    </style> 

    <style name="SmartbitLight.Base" parent="Theme.AppCompat.NoActionBar"> 
    <item name="colorPrimary">@color/blueLight</item> 
    <item name="colorPrimaryDark">@color/blueDark</item> 
    <item name="colorAccent">@color/grey</item> 
    <item name="android:windowBackground">@color/white</item> 
    <item name="android:textColorPrimary">@color/white</item> 
    <item name="android:statusBarColor">@color/blue</item> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
    </style> 
</resources> 

資源/值-V21/styles.xml(AndroidResource)

<?xml version="1.0" encoding="utf-8" ?> 
<resources> 
    <style name="SmartbitLight" parent="SmartbitLight.Base"> 

    </style> 
</resources> 

資源/價值/顏色.xml(AndroidResource)

<?xml version="1.0" encoding="utf-8" ?> 
<resources> 
    <color name="blueLight">#3cc1f1</color> 
    <color name="blue">#33a4cd</color> 
    <color name="blueDark">#33a4cd</color> 
    <color name="grey">#7d7d7d</color> 
    <color name="white">#ffffff</color> 
</resources> 

然後我有一個MainActivity,我把這個主題連接到應用:

[Activity(
    Label = "Smartbit", 
    Icon = "@drawable/icon", 
    MainLauncher = true, 
    ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation, 
    Theme = "@style/SmartbitLight")] 
public class MainActivity : FormsAppCompatActivity 

這並不正確,雖然工作:應用欄是白色的,而不是預期的藍,和「機器人:windowBackground」原來我進入控制白色的文字和邊框爲好。

+0

嘗試使用App.Xaml編寫樣式 –

+0

@hrishi這不是我問的。 –

+0

Appcompatibility庫是否包含在您的項目中以及您正在運行應用程序的平臺上? –

回答

0

嘗試增加你的清單中的主題(SmartbitLight)的名稱,如下所示:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.companyname.test"> 
    <uses-sdk android:minSdkVersion="15" android:targetSdkVersion="23" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <application android:label="test" android:theme="@style/SmartbitLight"></application> 
</manifest> 

路徑:your_app/Droid的/屬性/ AndroidManifest.xml中

+0

其實主題現在正在工作,只是不是所有的顏色或顯示(最顯着的是白色而不是藍色的工具欄)。你的代碼片段只是設置主題的另一種方式(我通過設置[Activity(Theme =「@ style/SmartbitLight」)] –

+0

@LeonCullens嗨!哦,我明白了......但是您的文件styles.xaml,don需要使用擴展名xml重新命名::/您可以在這裏找到完整的信息:http://motzcod.es/post/115523285992/material-design-theming-for-xamarinforms-android和here:https:/ /developer.xamarin.com/guides/android/user_interface/material_theme/另外,請確保你已經將=> v21設置爲你的編譯目標。 –

+0

@Johathan絕對正確,它的名字是.xml,但我犯了一個錯字:)我真的找到了解決方案,我會添加我的答案。 –