如何在Android中以编程方式设置Style属性?

如何在Android中以编程方式设置Style属性?,android,Android,我必须为以编程方式创建的TextView设置样式 如何以编程方式实现style=“@style/test” 我已经看过了,但它没有回答我的问题。有什么想法吗?目前不支持动态样式更改。必须在创建视图之前设置样式(以xml格式) 它适用于我您可以将样式传递给视图的构造函数。这可以通过两种方式完成: 使用ContextThemeWrapper并将您的样式设置为主题: ContextThemeWrapper wrappedContext = new ContextThemeWrapper(yourCon

我必须为以编程方式创建的
TextView
设置样式

如何以编程方式实现
style=“@style/test”


我已经看过了,但它没有回答我的问题。有什么想法吗?

目前不支持动态样式更改。必须在创建视图之前设置样式(以xml格式)


它适用于我

您可以将样式传递给视图的构造函数。这可以通过两种方式完成:

  • 使用
    ContextThemeWrapper
    并将您的样式设置为主题:

    ContextThemeWrapper wrappedContext = new ContextThemeWrapper(yourContext, R.style.test);
    TextView testView = new TextView(wrappedContext, null, 0);
    
  • 这里还有一个重要注意事项-要正确设置带有
    ContextThemeWrapper
    的样式,我们必须使用三参数构造函数,并将
    defstylettr
    参数设置为0。否则,默认按钮样式将应用于视图

  • 从API 21开始,我们可以使用具有4个参数的构造函数:

    View (Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
    
  • 其中
    deftyleres
    是您的样式ID


    同样的注释-defstylettr应该是0

    我必须使用什么类?您只需将style=“@style/test”放在布局xml文件中文本视图的定义中。您可以在堆栈溢出时参考此答案。现在支持此选项吗?
    View (Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)