The Title says it all, hopefully.
1) I create a View programmatically:
RelativeLayout rl = new RelativeLayout(this);
2) I want to a
You can't apply a style after constructing a view. The correct way to do this is to use the 4-argument constructor on Android 5.0+ or to create a theme attribute that references your style and use the 3-argument constructor.
// Works on versions prior to Android 5.0
RelativeLayout rl = new RelativeLayout(this, null, R.attr.myRelativeLayoutStyle);
// Works on Android 5.0 and above
RelativeLayout r2 = new RelativeLayout(this, null, 0, R.style.MyRelativeLayout);
res/values/attrs.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<attr name="myRelativeLayoutStyle" format="reference" />
...
res/values/styles.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyRelativeLayout">
...
</style>
...
res/values/themes.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyAppTheme" parent="...">
<item name="myRelativeLayoutStyle">@style/MyRelativeLayout</item>
...