[英]setting window background with radio buttons
我有一個正在使用的應用程序,它具有一個radioButton組,該組可以更改主要活動的圖像背景。 它可以很好地解決我似乎無法解決的一個問題。
在我切換屏幕或重新設置應用程序后,背景總是默認返回到全背景。 單選按鈕設置為在可繪制對象中使用選擇器xml正確按下,並且圖像可以完美切換,但不會粘住。 我又如何在不重新創建每個屏幕上的單選按鈕的情況下將其分布到所有班級?
這是我的單選按鈕代碼
public class MainActivity extends Activity {
private final String TAG = "Main Activity";
Button rButton2;
Button rButton1;
Button rButton;
Button mButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final RelativeLayout ll=(RelativeLayout) findViewById(R.id.RelativeLayout);
rButton2 = (Button) findViewById(R.id.radio2);
rButton1 = (Button) findViewById(R.id.radio0);
rButton = (Button) findViewById(R.id.radio1);
rButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Log.i(TAG, "onStart");
ll.setBackgroundResource(R.drawable.background1);
}
});
rButton1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Log.i(TAG, "onStart");
ll.setBackgroundResource(R.drawable.background);
}
});
rButton2.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Log.i(TAG, "onStart");
ll.setBackgroundResource(R.drawable.background2);
}
});
}
保存您的首選項首先,您需要保存設置。 為此使用SharedPreferences 。
其次,您需要通過代碼設置背景。 將初始化代碼添加到所有“活動”中或定義樣式。
選項1:初始化活動背景。 在所有活動的onCreate()
,使用從SharedPreferences中檢索的值調用setBackgroundResource
方法。
選項2:創建主題。 根據您選擇的Holo主題創建主題 ,然后在活動的onCreate()
進行設置。 這篇文章中描述了如何做到這一點的示例: 如何在運行時在Android中更改當前主題
這是主題切換的技巧: 如何重新啟動Android Activity (您應該調用recreate()
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.