样式文件中的属性对视图没有影响

时间:2015-05-04 15:39:02

标签: java android layout styles views

我在Android应用程序中使用了一些样式文件,例如:

<style name="message">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textColor">#000000</item>
    <item name="android:gravity">center_vertical</item>
    <item name="android:layout_weight">1</item>
</style>

然后我通过以下方式使用这些样式创建一些组件:

TextView tv = new TextView(new ContextThemeWrapper(this, R.style.message));

我的问题是我注意到一些属性对我的组件没有影响,在这种情况下, layout_weight 不起作用,我不得不在我的代码中指定它,如下所示:

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(0, LayoutParams.WRAP_CONTENT);
params.weight = 1;
tv.setLayoutParams(params);

如果您有任何想法,请告诉我。

谢谢。

1 个答案:

答案 0 :(得分:0)

问题依赖于这样一个事实:android:layout_weight仅适用于您经历的某些LayoutParam

作为关于Android上的样式的一般最佳做法,建议不要在样式中包含layout特定属性,因为样式化视图可以重复使用并位于不同的布局中。