如何自动应用父母的风格?

时间:2011-05-30 00:18:26

标签: android android-layout android-xml android-gui

我有一个包含自定义布局的布局。我想把风格从一个元素传递到另一个元素。我有一个膨胀布局的课程,如果需要我可以发布。这个设计元素由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元素重复该样式。我需要做些什么才能实现这一目标?

1 个答案:

答案 0 :(得分:3)

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

您可以将样式应用于父级 比如说styleA,然后将一个样式应用于子元素让我们说styleB

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

             FILL_PARENT         包装内容         #00FF00         等宽     

             FILL_PARENT         包装内容         #00FF00         等宽     

坏消息是你必须在每个儿童元素中加入样式:-(

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