无法以编程方式将样式设置为LinearLayout

问题描述 投票:0回答:1

我正在尝试将样式设置为以编程方式创建的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>

但样式不适用如何使其工作?

android styles android-linearlayout programmatically-created
1个回答
0
投票

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

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

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

0
投票

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

myView.style(R.style.MyStyle)
© www.soinside.com 2019 - 2024. All rights reserved.