2

我有这个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。我需要把它写在代码中。我怎样才能做到这一点?

4

1 回答 1

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 & set style from code

于 2012-04-16T16:25:24.873 回答