2014-02-22 45 views
0

我希望更改在xml文件上定义的我的app:footercolor值,并且我希望在运行时执行此操作。在运行时更改xml栏

我怎样才能做到这一点?我还没有找到任何有关如何做到这一点的信息。我发现很难学习一些关于通过java改变xml的东西。我确信必须有一种方法来实现这一点,我无法弄清楚。

下面是XML文件:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <com.viewpagerindicator.TitlePageIndicator 
     android:id="@+id/indicator" 

     android:padding="10dip" 
     android:layout_height="40dp" 
     android:layout_width="fill_parent" 

     android:background="#000000"  
     android:textColor="#1573D6" 
     app:footerColor="#1573D6" 

     app:footerLineHeight="2dp" 
     app:footerIndicatorStyle="none" 

     app:selectedColor="#FFFFFF" 
     app:selectedBold="true" /> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/pager" 

     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" /> 

谢谢

+0

您能否粘贴XML文件的全部内容?即包含'app:footercolor'的文件? – Muel

+0

当然,它现在在那里;我编辑了这个问题。感谢您的时间 – user3050910

回答

0

的XML定义会被关到Java在活动启动的对象。因此,您需要做的是获得对这些Java对象的引用并进行更改 - 而不是尝试修改XML。

我不是很熟悉的Android,但我认为下面的工作:

TitlePageIndicator titleIndicator = (TitlePageIndicator)findViewById(R.id.indicator); 
int blue = 0xFF; 
titleIndicator.setFooterColor(blue); 
titleIndicator.invalidate(); // get the UI to repaint this View at some point 

让我知道如何去!