无法通过编程将样式设置为LinearLayout

时间:2019-03-17 13:17:51

标签: android styles android-linearlayout programmatically-created

我正在尝试通过以下方式将样式设置为以编程方式创建的LinearLayout:

(参考:Android: set view style programmatically

LinearLayout linearLayout = new LinearLayout(this, null, R.style.linear_container);

和styles.xml

<style name="linear_container">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_marginBottom">20dp</item>
    <item name="android:background">#9B1212</item>
    <item name="android:orientation">vertical</item>
</style>

但是没有应用样式如何使其起作用?

2 个答案:

答案 0 :(得分:0)

您可以如下设置布局参数:

    LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
         LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);

    layoutParams.setMargins(10, 10, 10, 10);
    linearLayout.setLayoutParams(layoutParams);

答案 1 :(得分:0)

以编程方式设置样式的更简单方法是使用Airbnb的paris库。 正确实现库后,就和

一样简单
myView.style(R.style.MyStyle)