我有这个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。我需要在代码中编写它。我怎么能这样做?
答案 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