我一直在努力尋找一種方法來做到這一點。如何使用約束佈局以編程方式更改應用程序的背景和前景色
在stackoverflow上有一些答案顯示如何與其他佈局類型,但我找不到或自己弄清楚如何做到這一點時,使用約束佈局?
有什麼建議嗎?
我想要做的是更改我的應用程序的BG/FG顏色,如果某個菜單與相應的顏色被選中。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int idBC = item.getItemId();
int idFC = item.getItemId();
int idred = item.getItemId();
if (idred == R.id.red) {
//IF TRUE CHANGE BACGROUND COLOUR
return true;
}
return super.onOptionsItemSelected(item);
}
這裏是我的activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.martin.ex2.MainActivity">
</android.support.constraint.ConstraintLayout>
而且menu_main.xml
<?xml version="1.0" encoding="utf-8"?>
<item
android:id="@+id/fc"
android:title="Foreground Colour">
<menu>
<item
android:id="@+id/red"
android:title="Red" />
<item
android:id="@+id/blue"
android:title="Blue" />
<item
android:id="@+id/green"
android:title="Green" />
</menu>
</item>
<item
android:id="@+id/bc"
android:title="Background Colour">
<menu>
<item
android:id="@+id/brown"
android:title="Brown" />
<item
android:id="@+id/purple"
android:title="Purple" />
<item
android:id="@+id/orange"
android:title="Orange" />
</menu>
</item>
燦你添加了代碼的一些部分和你正面臨的問題? – gahfy
@gahfy我添加了一些額外的代碼。我認爲我的問題也可以是一個更一般的問題,這就是爲什麼我最初沒有添加任何代碼。 :) –
好吧,你是什麼意思的前景色?你的意思是包含在約束佈局中的textviews等的顏色? – gahfy