Если вы хотите установить стиль кнопки, которую вы создаете из кода, вы должны сделать что-то вроде этого;
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>
То, что позже в 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>
Это работает, и это, согласно моему пониманию, способ установить стиль на View из кода в Android. Это кажется слишком сложным. Третий конструктор Argument кнопки мог бы легко принять ID стиля R.style.XXX
Кто-нибудь может объяснить, зачем нужна эта дополнительная сложность?