1. 程式人生 > >android中setTheme 放置位置要注意

android中setTheme 放置位置要注意

在android程式設計中我們可以更換主題(Theme),有兩種方法,一種是在主程式中使用setTheme()函式,傳入相應的引數,另一種是在AndroidManifest.xml中直接指定,這裡主要講第一種方法,也是最常用的。一般來說,對程式外觀屬性操作的函式都會在onCreate()呼叫之後被呼叫,但是這個setTheme()函式有點奇怪,如果,把它放在onCreate()之後呼叫,它就不會生效(但並不產生任何錯誤和警告),一定要放在onCreate()之前呼叫才行.

程式碼示例 :

public class ThemeSetActivity extends Activity {

/** Called when the activity is first created. */

@Override public void onCreate(Bundle savedInstanceState) {

setTheme(R.style.Transparent); // 自定義主題效果出現

super.onCreate(savedInstanceState);

// setTheme(R.style.Transparent); // 自定義主題效果不會出現

setContentView(R.layout.main); }}

style.xml

<style name="Transparent">
        <item name="android:windowBackground">
          @drawable/checkbox_pressed1
        </item> 
        <item name="android:windowNoTitle">
         true
        </item>
   </style>