以编程方式改变我亲戚的风格

时间:2012-04-16 16:04:59

标签: android android-layout

我有这个xml

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    style="@style/FragmentSecondary" >
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:layout_alignParentTop="true"/>

<RelativeLyout>

我的风格是style =“@ style / FragmentSecondary”,想以编程方式将其更改为style = @ style / FragmentTrains。 我不想重写另一个xml。我需要在代码中编写它。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

我不相信你可以以编程方式设置样式。要解决此问题,您可以创建一个模板布局xml文件,并指定样式,例如在res / layout create tvtemplate.xml中,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="This is a template"
        style="@style/my_style" />

然后膨胀它以实例化你的新TextView:

TextView myText = (TextView)getLayoutInflater().inflate(R.layout.tvtemplate, null);

希望这有帮助。

另请参阅此LINK&amp; set style from code