diff --git a/.gitignore b/.gitignore index ad4c84c..ce2f6aa 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,5 @@ proguard/ # Log Files *.log +.idea +Android-Skin-Loader.iml \ No newline at end of file diff --git a/android-skin-loader-lib/.gitignore b/android-skin-loader-lib/.gitignore index 796b96d..4d03a2d 100644 --- a/android-skin-loader-lib/.gitignore +++ b/android-skin-loader-lib/.gitignore @@ -1 +1,2 @@ /build +android-skin-loader-lib.iml \ No newline at end of file diff --git a/android-skin-loader-sample/.gitignore b/android-skin-loader-sample/.gitignore index 796b96d..dd6da40 100644 --- a/android-skin-loader-sample/.gitignore +++ b/android-skin-loader-sample/.gitignore @@ -1 +1,2 @@ /build +android-skin-loader-sample.iml \ No newline at end of file diff --git a/android-skin-loader-sample/src/main/assets/BlackFantacy.skin b/android-skin-loader-sample/src/main/assets/BlackFantacy.skin new file mode 100644 index 0000000..9c57955 Binary files /dev/null and b/android-skin-loader-sample/src/main/assets/BlackFantacy.skin differ diff --git a/android-skin-loader-sample/src/main/java/cn/feng/skin/demo/activity/SettingActivity.java b/android-skin-loader-sample/src/main/java/cn/feng/skin/demo/activity/SettingActivity.java index 627f5ee..c270b61 100644 --- a/android-skin-loader-sample/src/main/java/cn/feng/skin/demo/activity/SettingActivity.java +++ b/android-skin-loader-sample/src/main/java/cn/feng/skin/demo/activity/SettingActivity.java @@ -9,6 +9,9 @@ import android.widget.Toast; import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; import cn.feng.skin.demo.R; import cn.feng.skin.manager.base.BaseActivity; @@ -91,9 +94,31 @@ private void onSkinSetClick() { File skin = new File(SKIN_DIR); - if(skin == null || !skin.exists()){ - Toast.makeText(getApplicationContext(), "请检查" + SKIN_DIR + "是否存在", Toast.LENGTH_SHORT).show(); - return; + if(!skin.exists()){ + InputStream is = null; + FileOutputStream fos = null; + try { + is = getResources().getAssets().open(SKIN_NAME); + fos = new FileOutputStream(SKIN_DIR); + int bytesRead = 0; + byte[] buffer = new byte[1024 * 4]; + while ((bytesRead = is.read(buffer, 0, 1024 * 4)) != -1) { + fos.write(buffer, 0, bytesRead); + } + } catch (IOException e) { + e.printStackTrace(); + }finally { + try { + if (is != null){ + is.close(); + } + if (fos != null){ + fos.close(); + } + } catch (IOException e) { + e.printStackTrace(); + } + } } SkinManager.getInstance().load(skin.getAbsolutePath(), diff --git a/android-skin-loader-skin/.gitignore b/android-skin-loader-skin/.gitignore index 796b96d..a15127c 100644 --- a/android-skin-loader-skin/.gitignore +++ b/android-skin-loader-skin/.gitignore @@ -1 +1,2 @@ /build +android-skin-loader-skin.iml \ No newline at end of file