2

我有一个包含自定义布局的布局。我想将样式从一个元素传递到另一个元素。我有一个扩展布局的类,如果需要,我可以发布。这种设计元素由 2 种不同的布局添加,根据需要具有不同的尺寸。

Child layout

<TableLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal">
    <TableRow android:layout_height="wrap_content" android:gravity="center_horizontal" android:layout_width="fill_parent" android:id="@+id/tableRow1">
        <Button android:text="1" android:id="@+id/nb1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="40sp" android:layout_margin="1dip" android:minWidth="70dip"></Button>
        <Button android:text="2" android:id="@+id/nb2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="40sp" android:layout_margin="1dip" android:minWidth="70dip"></Button>
        <Button android:text="3" android:id="@+id/nb3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="40sp" android:layout_margin="1dip" android:minWidth="70dip"></Button>
    </TableRow>
</TableLayout>

这是父布局

Parent Layout

<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
    <pearsonartphoto.AJEG.number_viewer android:id="@+id/numberviewer" style="@style/bigViewer" android:layout_alignParentRight="true" android:layout_alignParentBottom="true">
    </pearsonartphoto.AJEG.number_viewer>
</RelativeLayout>

我想做的是传递一种样式,并让样式在所有子项中重复,或者至少在 textView 元素中重复。我需要做什么才能做到这一点?

4

1 回答 1

3

据我所知,android中没有办法将父级的样式继承给子级视图,而不仅仅是嵌套它们!

您可以做的是将样式应用于父元素让我们说styleA,然后将样式应用于子元素让我们说styleB

并且继承可以在样式中完成,我的意思是 styleB 可以从 styleA 继承属性并覆盖他的一些父值

fill_parent wrap_content #00FF00 等宽

fill_parent wrap_content #00FF00 等宽

坏消息是您必须在每个子元素中添加样式:-(

我认为这是为某些元素赋予样式的唯一方法,如果您想为一组元素赋予样式,则必须定义主题并将其应用于活动或应用程序,这通常在代码中完成,但它可以也可以通过编程方式完成。

于 2011-09-09T15:37:58.443 回答