2012-04-16 29 views
2

у меня есть этот XMLизменить стиль программно моего RelativeLayout

<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> 

Мой стиль его это стиль = «@ стиль/FragmentSecondary», нужно изменить его программно стиль = @ стиль/FragmentTrains. Я не хочу переписывать другой xml. Мне нужно написать его в коде. Как я могу это сделать?

+0

Возможный дубликат: http://stackoverflow.com/questions/2016249/how-to-programmatically-setting-style-attribute-in-a-view –

ответ

0

Я не верю, что вы можете установить стиль программно. Чтобы обойти эту проблему вы можете создать макет шаблона XML-файл со стилем присвоенного, например, в разрешении/макет создать 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

Смежные вопросы