Если вы хотите установить стиль кнопки, которую вы создаете из кода, вам нужно сделать что-то вроде этого:
Button btn = new Button (mActivity, null, R.attr.someattribute);
в attrs.xml, вы создали ссылку
<attr name="someStyleRef" format="reference"/>
В styles.xml вы определяете тему
<resources>
<style name="Theme.SomeTheme" parent="android:style/Theme.Black">
<item name="someStyleRef">@style/someStyle</item>
</style>
</resources>
Это lates в styles.xml определяется как, например,
<style name="someStyle">
<item name="android:layout_width">2px</item>
<item name="android:layout_height">fill_parent</item>
<item name="android:background">@drawable/actionbar_compat_separator</item>
</style>
Это работает, и это, по моему мнению, способ установить стиль в представлении из кода на Android. Это кажется слишком сложным. Кнопка третьего конструктора Аргумент может легко принять идентификатор стиля R.style.XXX
Может кто-нибудь объяснить, зачем нужна эта дополнительная сложность?