I have to set the style for a TextView
which is created programmatically.
How do I implement style=\"@style/test\"
programmaticall
setTypeface(Typeface.DEFAULT_BOLD, Typeface.BOLD_ITALIC);
It works for me
You can pass the style to view's constructor. This can be done in 2 ways:
Use ContextThemeWrapper
and setup your style as a Theme for it:
ContextThemeWrapper wrappedContext = new ContextThemeWrapper(yourContext, R.style.test);
TextView testView = new TextView(wrappedContext, null, 0);
And important note here - to properly set the style with ContextThemeWrapper
we have to use three-argument constructor and set defStyleAttr
parameter to 0. Otherwise the default button style will be applied to the view.
Starting from API 21 we can use constructor with 4 parameters:
View (Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
Where defStyleRes
is your style ID
With the same remark - defStyleAttr should be 0
Dynamic style change is not currently supported. You must set the style before the view is create (in xml).