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で、次のコンテンツのように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);

お役に立てれば。

このリンクも参照して、コードからスタイルを設定してください

于 2012-04-16T16:25:24.873 に答える