1. 程式人生 > >畢業設計心得與整理-APP-主題切換

畢業設計心得與整理-APP-主題切換

-a 視圖 設計 activit 畢業 重啟 app start 主題切換

1.定義主體顏色:

在style自定義了三個屬性:



他們並不是android自由的屬性,他們是我自定義的屬性。他們的定義寫在attrs.xml裏面

在這裏定義過後,就可以在xml中直接使用,只需要引用進去就好
eg. android:background="?attr/appbg"

這樣背景色就自動轉換成了你設置的這個屬性值。

2.設置主題顏色

activity 提供了一個方法 setTheme(int id) ,但是要註意這個要在 setContentView(int id) 之前調用。就是說我們要在視圖顯示之前就把顏色切換掉。也就是需要重啟當前的activity。
除此之外,之前渲染過的視圖也需要進行處理,也就是處理那些 “過時” 的 activity。我這裏用的方法是清空我們的 back stack。

final Intent themeintent = getIntent();
themeintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(themeintent);

FLAG_ACTIVITY_NEW_TASK 是為要啟動的activity新建一個任務堆棧。
FLAG_ACTIVITY_CLEAR_TASK 任何放置該activity的已存在的task裏面 的activity都被清空。也就是清空過時的activity。

畢業設計心得與整理-APP-主題切換