2

我有一个包含 LinearLayout,它有一个与之关联的样式,它为容器提供 20dp 的填充。这对于其中包含的 99% 的元素来说非常有用。可能有 1 个元素我希望在屏幕上扩展 (android:layout_width="match_parent") 并忽略包含 LinearLayout 设置的填充。这可能吗?或者,我是否需要从包含的 LinearLayout 中删除样式并将其单独应用于每个其他元素?

(为简洁起见,排除了一些属性)

<LinearLayout
    android:padding="20dp">

    <TextView 
        android:id="@+id/txtTitle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <TextView 
        android:id="@+id/txtDate"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <!-- Would like this to ignore padding, extend fully. -->
    <TextView 
        android:id="@+id/txtExperienceTitle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        style="@style/sub_header_title" />

</LinearLayout>
4

3 回答 3

3

是的,你不能真的像那样挑选。我会从 LinearLayout 中删除填充并应用于margin孩子。

为了扩展 loeschg 在下面的评论中所说的内容,我建议使用“儿童风格”。由于看起来每个孩子只需要左右边距,因此每个孩子只需要一行,而不是分别设置左右两边,这样可以节省一些打字并且看起来更干净。

于 2013-07-30T16:10:34.997 回答
0

你无法伸出容器。style如果有异常,将 a应用于元素而不是容器。

于 2013-07-30T16:17:18.180 回答
-1

是的,它会忽略它,你写的布局是这样的。

总体思路

int x = 7;
x = 20;

Show me that x = 7; ---You wanted to do something like this whit your layout

<TextView 
    android:id="@+id/txtTitle"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

<TextView 
    android:id="@+id/txtDate"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

<!-- Would like this to ignore padding, extend fully. -->
<TextView 
    android:id="@+id/txtExperienceTitle"
    style="@style/sub_header_title" // --- Style before adding laout_width if you want the layout to be match_parent
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    />

于 2013-07-30T16:35:53.950 回答