无法在Button构造函数中以编程方式设置样式

时间:2016-12-08 06:51:11

标签: android android-button android-styles

当我以编程方式创建如下所示的按钮时,没有考虑任何自定义样式,并且我丢失了所有默认样式(例如默认背景颜色等)。

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    RelativeLayout layout = (RelativeLayout) findViewById(R.id.activity_main);
    Button button = new Button(this, null, R.style.LocButtonStyle);
    layout.addView(button);
    button.setText("Ok");

}

}

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="LocButtonStyle" parent="@android:style/Widget.Button">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textColor">#FFFFFF</item>
    <item name="android:colorBackground">#ff0000</item>-->
    <item name="android:textSize">160dp</item>
</style>

如果我以编程方式创建没有样式的Button,则默认样式就可以了,但这显然不是我想要的。

    Button button = new Button(this);

我只看到了相关的解决方法,但我还没有找到答案,为什么这不起作用。

0 个答案:

没有答案