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

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

如何以编程style="@style/test"实现style="@style/test"

我已经看过Android开发人员风格的文档 ,但它没有回答我的问题。 有任何想法吗?

Solutions Collecting From Web of "如何在Android中以编程方式设置样式属性?"

目前不支持dynamic样式更改。 您必须在视图创build之前(在xml中)设置样式。

 setTypeface(Typeface.DEFAULT_BOLD, Typeface.BOLD_ITALIC); 

这个对我有用

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

  1. 使用ContextThemeWrapper并将其设置为主题:

     ContextThemeWrapper wrappedContext = new ContextThemeWrapper(yourContext, R.style.test); TextView testView = new TextView(wrappedContext, null, 0); 

这里需要注意的是,要使用ContextThemeWrapper正确设置样式,我们必须使用三个参数的构造函数,并将defStyleAttr参数设置为0.否则,默认的button样式将应用于视图。

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

     View (Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) 

defStyleRes是你的风格ID

同样的话 – defStyleAttr应该是0