是否可以在Android自定义样式中使用AppThemeBinding?

埃里亚斯·约翰内斯(Elias Johannes)

我正在尝试通过使用新的AppThemeBinding为Android实现Darkmode它适用于Android和iOS,但我对如何针对自定义渲染器或自定义样式实现它一无所知。

例如,我有一个自定义的Stepper渲染器,看起来像这样:

protected override void OnElementChanged(ElementChangedEventArgs<Stepper> e)
{
    base.OnElementChanged(e);
    if (Control != null)
    {
        Android.Widget.Button buttonDown = (Android.Widget.Button)Control.GetChildAt(0);
        Android.Widget.Button buttonUp = (Android.Widget.Button)Control.GetChildAt(1);
        if(e.NewElement != null)
        {
            //Button Down
            buttonDown.SetBackgroundResource(Resource.Drawable.button_bg_left);
            buttonDown.LayoutParameters = new LinearLayout.LayoutParams(DpToPixel(50), DpToPixel(33));
            buttonDown.SetPadding(0,0,0,0);
            buttonDown.SetTextColor(Android.Graphics.Color.ParseColor("#007bff"));
            //Button Up
            buttonUp.SetBackgroundResource(Resource.Drawable.button_bg_right);
            buttonUp.LayoutParameters = new LinearLayout.LayoutParams(DpToPixel(50), DpToPixel(33));
            buttonUp.SetPadding(0, 0, 0, 0);
            buttonUp.SetTextColor(Android.Graphics.Color.ParseColor("#007bff"));
                  
        }
    }
}

我正在设置一个背景资源,它是一个.xml文件,看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#FFFFFF"/>
    <stroke android:width="1dp" android:color="#007bff" />
    <corners
            android:topLeftRadius="5dp"
            android:bottomLeftRadius="5dp"/>
</shape>

由于AppThemeBinding是标记扩展,并且可以在.xaml文件内部工作,所以我不知道如何为Android特定渲染器实现颜色更改?

我该如何更改明/暗模式的自定义形状的颜色?

杰克华-MSFT

您可以在渲染器中检测当前系统主题,然后设置相应的颜色:

class MyStepperRenderer : StepperRenderer
{
    public MyStepperRenderer(Context context) : base(context)
    {
    }

    protected override void OnElementChanged(ElementChangedEventArgs<Stepper> e)
    {
        base.OnElementChanged(e);

        OSAppTheme currentTheme = Xamarin.Forms.Application.Current.RequestedTheme;

        if (currentTheme == OSAppTheme.Light)
        {
            //
        }
        else
        {
            //
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法在Android中使用自定义EditText样式

来自分类Dev

无法在Android中使用自定义EditText样式

来自分类Dev

是否可以在报告中使用自定义字段

来自分类Dev

是否可以在Android Wear应用中使用自定义字体(字体)

来自分类Dev

是否可以自定义引导程序$ modal的样式

来自分类Dev

是否可以在Swift中使用自定义运算符定义[Int] * Int?

来自分类Dev

在样式属性中使用自定义字体

来自分类Dev

在我的代码中使用自定义样式

来自分类Dev

是否可以在ASP.NET Core中使用自定义ModelState验证提供程序?

来自分类Dev

是否可以通过自定义配置在NSURLSession中使用NSURLProtocol?

来自分类Dev

是否可以在基础中加载自定义模板标签并在扩展模板中使用它

来自分类Dev

是否可以在golang中使用自定义库触发编译时错误?

来自分类Dev

是否可以在gitlab 8中使用自定义钩子进行项目提交?

来自分类Dev

是否可以在C#中使用自定义值或模板值创建谓词

来自分类Dev

是否可以在熊猫中使用自定义过滤器功能?

来自分类Dev

是否可以在Zend Framework 2的表单中使用自定义视图脚本?

来自分类Dev

是否可以在GAC中使用程序集创建自定义配置部分

来自分类Dev

在 console.log 中使用逗号时是否可以调用 toString(自定义打印)

来自分类Dev

是否可以在我的自定义技能中使用 Alexa 语音配置文件

来自分类Dev

是否可以在 azure 搜索中使用元数据作为自定义技能的输入?

来自分类Dev

是否可以对MaterialUI中的样式化组件使用自定义类名生成器?

来自分类Dev

是否可以(如何)为dojox.gfx线定义自定义笔触样式?

来自分类Dev

是否可以自定义或更改android应用卸载消息?

来自分类Dev

是否可以自定义Android Wear SpeechRecognizer UI?

来自分类Dev

Android XML是否可以使用带有自定义属性的工具名称空间?

来自分类Dev

是否可以在Google Glass上使用Android语音识别(作为自定义服务)?

来自分类Dev

是否可以对SKCalloutView使用自定义视图?

来自分类Dev

是否可以使用 PyQt 创建自定义光标?

来自分类Dev

是否可以使用 App 自定义结账液

Related 相关文章

  1. 1

    无法在Android中使用自定义EditText样式

  2. 2

    无法在Android中使用自定义EditText样式

  3. 3

    是否可以在报告中使用自定义字段

  4. 4

    是否可以在Android Wear应用中使用自定义字体(字体)

  5. 5

    是否可以自定义引导程序$ modal的样式

  6. 6

    是否可以在Swift中使用自定义运算符定义[Int] * Int?

  7. 7

    在样式属性中使用自定义字体

  8. 8

    在我的代码中使用自定义样式

  9. 9

    是否可以在ASP.NET Core中使用自定义ModelState验证提供程序?

  10. 10

    是否可以通过自定义配置在NSURLSession中使用NSURLProtocol?

  11. 11

    是否可以在基础中加载自定义模板标签并在扩展模板中使用它

  12. 12

    是否可以在golang中使用自定义库触发编译时错误?

  13. 13

    是否可以在gitlab 8中使用自定义钩子进行项目提交?

  14. 14

    是否可以在C#中使用自定义值或模板值创建谓词

  15. 15

    是否可以在熊猫中使用自定义过滤器功能?

  16. 16

    是否可以在Zend Framework 2的表单中使用自定义视图脚本?

  17. 17

    是否可以在GAC中使用程序集创建自定义配置部分

  18. 18

    在 console.log 中使用逗号时是否可以调用 toString(自定义打印)

  19. 19

    是否可以在我的自定义技能中使用 Alexa 语音配置文件

  20. 20

    是否可以在 azure 搜索中使用元数据作为自定义技能的输入?

  21. 21

    是否可以对MaterialUI中的样式化组件使用自定义类名生成器?

  22. 22

    是否可以(如何)为dojox.gfx线定义自定义笔触样式?

  23. 23

    是否可以自定义或更改android应用卸载消息?

  24. 24

    是否可以自定义Android Wear SpeechRecognizer UI?

  25. 25

    Android XML是否可以使用带有自定义属性的工具名称空间?

  26. 26

    是否可以在Google Glass上使用Android语音识别(作为自定义服务)?

  27. 27

    是否可以对SKCalloutView使用自定义视图?

  28. 28

    是否可以使用 PyQt 创建自定义光标?

  29. 29

    是否可以使用 App 自定义结账液

热门标签

归档