android 動態換膚,Android系統已經完美解決換膚問題,看到網上好多的朋友還在詢問如何換膚。我樣本一下Android換膚 看效果 點擊 Day 後的主題皮膚 點擊 Night後,主題皮膚 [java] package cn.hpc.assistant; import android.app.Activity; import android.content.Context; import android.graphics.PixelFormat; import android.graphics.Point; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.Gravity; import android.view.View; import android.view.WindowManager; import android.view.WindowManager.LayoutParams; public class MainActivity extends Activity { private int mThemeId = -1; // 皮膚主題ID,預設-1 不處理 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (savedInstanceState != null) { if (savedInstanceState.getInt("theme", -1) != -1) {// 讀取皮膚主題ID,-1 不處理 mThemeId = savedInstanceState.getInt("theme"); this.setTheme(mThemeId); //設定主題皮膚 } } setContentView(R.layout.activity_main); this.findViewById(R.id.id_btn_day).setOnClickListener(mOnClickListener); // day 明亮主題 this.findViewById(R.id.id_btn_night).setOnClickListener(mOnClickListener); //night 黑暗主題 } View.OnClickListener mOnClickListener = new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.id_btn_day: onTheme(android.R.style.Theme_Light); break; case R.id.id_btn_night: onTheme(android.R.style.Theme_Black); break; default: } } }; // 設定主題,並重建 private void onTheme(int iThemeId){ mThemeId = iThemeId; this.recreate(); } // 儲存主題ID,onCreate 時讀取主題 @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putInt("theme", mThemeId); } } 布局檔案: activity_main.xml [html] <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" tools:context=".MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:text="@string/hello_world" /> <Button android:id="@+id/id_btn_fun" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:id="@+id/id_btn_day" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Day"/> <Button android:id="@+id/id_btn_night" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Night" /> </LinearLayout>