我希望更改xml文件中定义的app:footercolor
值,我想在运行时执行此操作。
我怎样才能做到这一点?我还没有找到有关如何执行此操作的任何信息。我发现很难学到一些关于通过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 :(得分: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
让我知道它是怎么回事!