В моем ответе описывается, как это сделать только для вашего приложения для Android - оно не относится к другим платформам. Поскольку вы упоминаете «материал», который является Android-only, неясно, каковы ваши фактические цели. Существует еще один ответ, который направляет вас на информацию о тематике на основе форм, но этот подход отменяет материал.
Самый простой способ сделать это - изменить тему своей деятельности. Откройте MainActivity.cs и измените атрибут, чтобы указать его. Например, если вы хотите перейти от по умолчанию темной темы на световую тему, вы можете изменить, если от этого:
[Activity (
Label = "Demo.Droid",
Icon = "@drawable/icon",
MainLauncher = true,
ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation
)]
к этому:
[Activity (
Label = "Demo.Droid",
Icon = "@drawable/icon",
MainLauncher = true,
ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation,
Theme = "@android:style/Theme.Material.Light"
)]
Если вы хотите, чтобы настроить тему дальше , то вы можете добавить папку values
в папку вашего проекта Android Resources
и добавить файл xml с именем `Styles.xml '. В этом файле вы можете создать собственную тему на основе встроенной темы. Например:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CustomTheme" parent="android:Theme.Material.Light">
<item name="android:colorPrimary">@color/app_bar</item>
<item name="android:colorPrimaryDark">@color/status_bar</item>
<item name="android:windowBackground">@color/bg</item>
</style>
</resources>
тех цветов ("app_bar", "status_bar", "BG") должны быть определены, так как я только что сделал их. Для определения цвета, добавьте Colors.xml
файл в папку values
, которая выглядит примерно так:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<!-- Purple hues -->
<color name="app_bar" type="color">#FFE1BEE7</color>
<color name="status_bar" type="color">#FFBA68C8</color>
<color name="bg" type="color">#FFFFFFFF</color>
</resources>
И тогда вы можете ссылаться на эту пользовательскую тему в своей деятельности:
[Activity (
Label = "Demo.Droid",
Icon = "@drawable/icon",
MainLauncher = true,
ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation,
Theme = "@style/CustomTheme"
)]
Это должно дать вам общее представление о том, как это сделать. Тема, применяемая таким образом, работает как для приложения без форм, так и для приложения Forms, если вы не применяете некоторые ручные значения шрифта/цвета через XAML или в другом месте приложения - другими словами, используется тема Android по умолчанию, если вы не переопределите его.
Дополнительную информацию (в том числе о том, как изящно понизить для нетрадиционных устройств) можно найти здесь: https://developer.xamarin.com/guides/android/user_interface/material_theme/