2016-03-11 5 views
-1

Я хотел бы изменить тему по умолчанию xamarin (Theme.Material), я хочу иметь белый фон с серым/черным письмом.Как настроить приложения Xamarin.forms?

Как я могу это сделать?

Есть ли способ изменить дизайн для всех трех форматов одновременно без необходимости настройки для разных платформ?

ответ

0

В моем ответе описывается, как это сделать только для вашего приложения для 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/

Смежные вопросы