├── .gitignore ├── .idea ├── compiler.xml ├── copyright │ └── profiles_settings.xml ├── encodings.xml ├── gradle.xml ├── misc.xml ├── modules.xml ├── runConfigurations.xml └── vcs.xml ├── LICENSE ├── README.md ├── app ├── .gitignore ├── build.gradle ├── libs │ ├── skin-support-design-release.aar │ └── skin-support-release.aar ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── assets │ └── skins │ │ ├── night.skin │ │ └── white.skin │ ├── java │ └── com │ │ └── ximsfei │ │ └── skindemo │ │ ├── App.java │ │ ├── DataManager.java │ │ ├── MainActivity.java │ │ ├── SplashActivity.java │ │ ├── bean │ │ ├── ImageItem.java │ │ └── RecommendItem.java │ │ ├── ui │ │ ├── AboutSkinLibActivity.java │ │ ├── DiscoverFragment.java │ │ ├── FriendsFragment.java │ │ ├── MusicFragment.java │ │ ├── SkinLibActivity.java │ │ ├── adapter │ │ │ ├── RecommendAdapter.java │ │ │ ├── SkinLibAdapter.java │ │ │ ├── SongMenuAdapter.java │ │ │ ├── TabFragmentPagerAdapter.java │ │ │ └── baseadapter │ │ │ │ ├── BaseRecyclerViewAdapter.java │ │ │ │ ├── BaseRecyclerViewHolder.java │ │ │ │ └── OnItemClickListener.java │ │ ├── base │ │ │ ├── BaseActivity.java │ │ │ └── BaseFragment.java │ │ ├── discover │ │ │ ├── RadioFragment.java │ │ │ ├── RankingFragment.java │ │ │ ├── RecommendFragment.java │ │ │ └── SongMenuFragment.java │ │ └── friends │ │ │ ├── ContactsFragment.java │ │ │ ├── FeedsFragment.java │ │ │ └── NearbyFragment.java │ │ ├── utils │ │ ├── SPUtils.java │ │ └── TimeUtil.java │ │ └── widget │ │ ├── ArrayDialogFragment.java │ │ └── SquareImageView.java │ └── res │ ├── anim │ ├── screen_zoom_in.xml │ └── screen_zoom_out.xml │ ├── color │ ├── day_recommend_color_selector.xml │ ├── fine_song_background_selector.xml │ ├── select_song_menu_stroke_color.xml │ └── selectable_text_color.xml │ ├── drawable-nodpi │ ├── b_1.png │ ├── b_2.png │ ├── b_3.png │ ├── b_4.png │ ├── b_5.jpg │ ├── b_6.jpg │ ├── ic_screen_default.png │ ├── splash0.jpg │ ├── splash1.jpg │ ├── splash10.jpg │ ├── splash11.jpg │ ├── splash12.jpg │ ├── splash13.jpg │ ├── splash14.jpg │ ├── splash15.jpg │ ├── splash16.jpg │ ├── splash2.jpg │ ├── splash3.jpg │ ├── splash4.jpg │ ├── splash5.jpg │ ├── splash6.jpg │ ├── splash7.jpg │ ├── splash8.jpg │ └── splash9.jpg │ ├── drawable-xhdpi │ ├── header_layout_bg.jpg │ ├── home_six_1.png │ ├── home_six_10.png │ ├── home_six_11.png │ ├── home_six_12.png │ ├── home_six_13.png │ ├── home_six_14.png │ ├── home_six_15.png │ ├── home_six_16.png │ ├── home_six_17.png │ ├── home_six_18.png │ ├── home_six_19.png │ ├── home_six_2.png │ ├── home_six_20.png │ ├── home_six_21.png │ ├── home_six_22.png │ ├── home_six_23.png │ ├── home_six_24.png │ ├── home_six_25.png │ ├── home_six_26.png │ ├── home_six_27.png │ ├── home_six_28.png │ ├── home_six_29.png │ ├── home_six_3.png │ ├── home_six_30.png │ ├── home_six_4.png │ ├── home_six_5.png │ ├── home_six_6.png │ ├── home_six_7.png │ ├── home_six_8.png │ ├── home_six_9.png │ ├── message.png │ └── photo.jpeg │ ├── drawable-xxhdpi │ ├── actionbar_discover_normal.png │ ├── actionbar_discover_selected.png │ ├── actionbar_friends_normal.png │ ├── actionbar_friends_selected.png │ ├── actionbar_music_normal.png │ ├── actionbar_music_selected.png │ ├── android_group.png │ ├── home_banner_1.png │ ├── home_banner_10.png │ ├── home_banner_11.png │ ├── home_banner_12.png │ ├── home_banner_2.png │ ├── home_banner_3.png │ ├── home_banner_4.png │ ├── home_banner_5.png │ ├── home_banner_6.png │ ├── home_banner_7.png │ ├── home_banner_8.png │ ├── home_banner_9.png │ ├── ic_back.png │ ├── ic_banner_grey.png │ ├── ic_banner_red.png │ ├── ic_birthday_normal.png │ ├── ic_birthday_pressed.png │ ├── ic_day_normal.png │ ├── ic_day_pressed.png │ ├── ic_daynight_indicator.png │ ├── ic_driving_mode_indicator.png │ ├── ic_fm_normal.png │ ├── ic_fm_pressed.png │ ├── ic_indicator_0.png │ ├── ic_indicator_1.png │ ├── ic_indicator_2.png │ ├── ic_indicator_3.png │ ├── ic_indicator_4.png │ ├── ic_menu.png │ ├── ic_message_indicator.png │ ├── ic_more_indicator.png │ ├── ic_music_alarm_indicator.png │ ├── ic_online_indicator.png │ ├── ic_rank_normal.png │ ├── ic_rank_pressed.png │ ├── ic_scanner_indicator.png │ ├── ic_search_white.png │ ├── ic_shopping_indicator.png │ ├── ic_skin_selected_indicator.png │ ├── ic_sound_hound_indicator.png │ ├── ic_theme_indicator.png │ ├── ic_timing_indicator.png │ ├── ic_vip_indicator.png │ ├── loading.png │ ├── login_bg.jpg │ ├── sign_in_normal.png │ ├── sign_in_pressed.png │ ├── skin_color.png │ ├── skin_red.png │ └── skin_white.png │ ├── drawable │ ├── actionbar_discover.xml │ ├── actionbar_friends.xml │ ├── actionbar_music.xml │ ├── day_selector.xml │ ├── fm_selector.xml │ ├── home_adjust_background.xml │ ├── rank_selector.xml │ ├── select_song_menu_background.xml │ ├── shape_bg_level.xml │ ├── shape_bg_sign.xml │ └── sign_in_icon.xml │ ├── layout │ ├── activity_about_skin_lib.xml │ ├── activity_main.xml │ ├── activity_skin_lib.xml │ ├── activity_splash.xml │ ├── animator_choose_fragment.xml │ ├── animator_choose_item.xml │ ├── footer_recommend_item.xml │ ├── fragment_contacts.xml │ ├── fragment_discover.xml │ ├── fragment_feeds.xml │ ├── fragment_friends.xml │ ├── fragment_music.xml │ ├── fragment_nearby.xml │ ├── fragment_radio.xml │ ├── fragment_ranking.xml │ ├── fragment_recommend.xml │ ├── fragment_song.xml │ ├── header_recommend_item.xml │ ├── header_skin_lib.xml │ ├── header_song_item.xml │ ├── main_header_layout.xml │ ├── one_item.xml │ ├── recommend_item.xml │ └── skin_lib_item.xml │ ├── menu │ ├── menu_main_options.xml │ └── menu_skin_lib_options.xml │ ├── mipmap-hdpi │ └── ic_launcher.png │ ├── mipmap-mdpi │ └── ic_launcher.png │ ├── mipmap-xhdpi │ └── ic_launcher.png │ ├── mipmap-xxhdpi │ └── ic_launcher.png │ ├── mipmap-xxxhdpi │ └── ic_launcher.png │ ├── values-v21 │ └── styles.xml │ ├── values-w820dp │ └── dimens.xml │ └── values │ ├── colors.xml │ ├── dimens.xml │ ├── strings.xml │ └── styles.xml ├── build.gradle ├── gif ├── 10.gif ├── 11.gif ├── 5.gif ├── 6.gif ├── 7.gif ├── 8.gif └── 9.gif ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle ├── skin-app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── assets │ └── skins │ │ └── red.skin │ ├── java │ └── com │ │ └── ximsfei │ │ └── dynamicskindemo │ │ ├── App.java │ │ ├── MainActivity.java │ │ ├── tab │ │ ├── ArrayDialogFragment.java │ │ ├── FirstFragment.java │ │ ├── LastFragment.java │ │ ├── MiddleFragment.java │ │ └── TabFragmentPagerAdapter.java │ │ └── widget │ │ ├── CircleImageView.java │ │ ├── CustomCircleImageView.java │ │ ├── CustomTextView.java │ │ └── CustomTextView2.java │ └── res │ ├── color │ └── color_selector.xml │ ├── drawable-xxhdpi │ ├── actionbar_discover_normal.png │ ├── btn_check_to_on_mtrl_000.png │ ├── btn_check_to_on_mtrl_015.png │ ├── btn_radio_to_on_mtrl_000.png │ ├── btn_radio_to_on_mtrl_015.png │ ├── ic_camera_24dp.png │ ├── ic_star_48dp.png │ ├── ic_star_border_48dp.png │ ├── ic_star_half_48dp.png │ ├── picture.png │ ├── refresh.png │ ├── thumb_dn.png │ └── thumb_up.png │ ├── drawable │ ├── bg_bar.xml │ ├── button_checked.xml │ ├── button_radio.xml │ ├── progress_bar.xml │ ├── progress_horizontal.xml │ ├── rating_bar.xml │ └── thumb_bar.xml │ ├── layout │ ├── activity_main.xml │ ├── animator_choose_fragment.xml │ ├── animator_choose_item.xml │ ├── fragment.xml │ ├── fragment_first.xml │ ├── fragment_middle.xml │ └── simple_spinner_item.xml │ ├── menu │ └── main_menu.xml │ ├── mipmap-hdpi │ └── ic_launcher.png │ ├── mipmap-mdpi │ └── ic_launcher.png │ ├── mipmap-xhdpi │ └── ic_launcher.png │ ├── mipmap-xxhdpi │ └── ic_launcher.png │ ├── mipmap-xxxhdpi │ └── ic_launcher.png │ ├── values-v19 │ └── styles.xml │ ├── values-v21 │ └── styles.xml │ └── values │ ├── arrays.xml │ ├── attrs.xml │ ├── colors.xml │ ├── dimens.xml │ ├── strings.xml │ └── styles.xml ├── skin-night ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ └── res │ ├── color │ └── color_selector.xml │ ├── drawable-xxhdpi │ ├── actionbar_discover_normal.png │ ├── btn_check_to_on_mtrl_000.png │ ├── btn_check_to_on_mtrl_015.png │ ├── btn_radio_to_on_mtrl_000.png │ ├── btn_radio_to_on_mtrl_015.png │ ├── ic_camera_24dp.png │ ├── ic_star_48dp.png │ ├── ic_star_border_48dp.png │ ├── ic_star_half_48dp.png │ ├── picture.png │ ├── thumb_dn.png │ └── thumb_up.png │ ├── drawable │ ├── bg_bar.xml │ ├── button_checked.xml │ ├── button_radio.xml │ ├── progress_bar.xml │ ├── progress_horizontal.xml │ ├── rating_bar.xml │ └── thumb_bar.xml │ ├── mipmap-xxhdpi │ └── ic_launcher.png │ └── values │ ├── colors.xml │ └── strings.xml ├── skin-support-design ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── skin │ │ └── support │ │ └── design │ │ ├── SkinMaterialManager.java │ │ ├── app │ │ └── SkinMaterialViewInflater.java │ │ └── widget │ │ ├── SkinCompatAppBarLayout.java │ │ ├── SkinCompatNavigationView.java │ │ └── SkinCompatTabLayout.java │ └── res │ └── values │ └── strings.xml └── skin-support ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src └── main ├── AndroidManifest.xml ├── java └── skin │ └── support │ ├── SkinCompatManager.java │ ├── animator │ ├── Action.java │ ├── AnimatorType.java │ ├── SingleAnimator │ │ ├── AnimatorConfig.java │ │ ├── AnimatorManager.java │ │ ├── ViewAnimatorImpl.java │ │ ├── ViewAnimatorType.java │ │ ├── ViewAnimatorUtil.java │ │ ├── hide │ │ │ ├── AlphaHideAnimator.java │ │ │ ├── RotationHideAnimator.java │ │ │ ├── ScaleHideAnimator.java │ │ │ ├── TranslationAlphaHideAnimator.java │ │ │ ├── TranslationAlphaHideAnimator2.java │ │ │ ├── TranslationHideAnimator.java │ │ │ ├── TranslationHideAnimator2.java │ │ │ └── TranslationRotationHideAnimator2.java │ │ └── update │ │ │ └── AlphaAnimator.java │ ├── SkinAnimator.java │ └── activityAnimator │ │ ├── ScaleAnimator.java │ │ ├── ScaleAnimator2.java │ │ ├── SkinActivityAnimator.java │ │ ├── SkinAlphaAnimator.java │ │ ├── SkinRotateAnimator.java │ │ ├── SkinRotateAnimator2.java │ │ ├── SkinRotateAnimator3.java │ │ ├── SkinRotateAnimator4.java │ │ ├── SkinRotateHintAnimator.java │ │ ├── TranslationAnimator.java │ │ └── TranslationAnimator2.java │ ├── app │ ├── SkinCompatActivity.java │ ├── SkinCompatDelegate.java │ ├── SkinCompatViewInflater.java │ └── SkinLayoutInflater.java │ ├── content │ └── res │ │ └── SkinCompatResources.java │ ├── observe │ ├── SkinObservable.java │ └── SkinObserver.java │ ├── utils │ ├── SkinConstants.java │ ├── SkinFileUtils.java │ ├── SkinLog.java │ └── SkinPreference.java │ └── widget │ ├── SkinCompatAutoCompleteTextView.java │ ├── SkinCompatBackgroundHelper.java │ ├── SkinCompatButton.java │ ├── SkinCompatCheckBox.java │ ├── SkinCompatCheckedTextView.java │ ├── SkinCompatCompoundButtonHelper.java │ ├── SkinCompatEditText.java │ ├── SkinCompatFrameLayout.java │ ├── SkinCompatHelper.java │ ├── SkinCompatImageButton.java │ ├── SkinCompatImageHelper.java │ ├── SkinCompatImageView.java │ ├── SkinCompatLinearLayout.java │ ├── SkinCompatMultiAutoCompleteTextView.java │ ├── SkinCompatProgressBar.java │ ├── SkinCompatProgressBarHelper.java │ ├── SkinCompatRadioButton.java │ ├── SkinCompatRatingBar.java │ ├── SkinCompatRelativeLayout.java │ ├── SkinCompatSeekBar.java │ ├── SkinCompatSeekBarHelper.java │ ├── SkinCompatSpinner.java │ ├── SkinCompatSupportable.java │ ├── SkinCompatTextHelper.java │ ├── SkinCompatTextView.java │ ├── SkinCompatToolbar.java │ ├── SkinCompatView.java │ └── animator │ ├── SkinCompatAnimatorImageView.java │ └── SkinCompatAnimatorTextView.java └── res └── values ├── attrs.xml └── strings.xml /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | freeline/* 11 | freeline.py 12 | freeline_project_description.json 13 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 20 | 21 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017 pengfeng wang 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 25 5 | buildToolsVersion "25.0.2" 6 | defaultConfig { 7 | applicationId "com.ximsfei.skindemo" 8 | minSdkVersion 15 9 | targetSdkVersion 25 10 | aaptOptions.cruncherEnabled = false 11 | aaptOptions.useNewCruncher = false 12 | versionCode 1 13 | versionName "1.0" 14 | } 15 | buildTypes { 16 | release { 17 | minifyEnabled false 18 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 19 | } 20 | } 21 | dataBinding { 22 | enabled = true 23 | } 24 | } 25 | 26 | repositories { 27 | flatDir { 28 | dirs 'libs' 29 | } 30 | } 31 | 32 | dependencies { 33 | compile fileTree(dir: 'libs', include: ['*.jar']) 34 | compile 'com.android.support:appcompat-v7:25.1.0' 35 | compile 'com.android.support:design:25.1.0' 36 | 37 | compile 'com.jcodecraeer:xrecyclerview:1.3.2' 38 | compile 'com.youth.banner:banner:1.4.8' 39 | 40 | compile 'com.github.bumptech.glide:glide:3.7.0' 41 | 42 | releaseCompile project(path: ':skin-support-design', configuration: 'release') 43 | debugCompile project(path: ':skin-support-design', configuration: 'debug') 44 | } 45 | -------------------------------------------------------------------------------- /app/libs/skin-support-design-release.aar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/libs/skin-support-design-release.aar -------------------------------------------------------------------------------- /app/libs/skin-support-release.aar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/libs/skin-support-release.aar -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /home/ximsfei/Android/Sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 15 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /app/src/main/assets/skins/night.skin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/assets/skins/night.skin -------------------------------------------------------------------------------- /app/src/main/assets/skins/white.skin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/assets/skins/white.skin -------------------------------------------------------------------------------- /app/src/main/java/com/ximsfei/skindemo/App.java: -------------------------------------------------------------------------------- 1 | package com.ximsfei.skindemo; 2 | 3 | import android.app.Application; 4 | 5 | import com.ximsfei.skindemo.utils.SPUtils; 6 | 7 | import skin.support.SkinCompatManager; 8 | import skin.support.design.SkinMaterialManager; 9 | 10 | /** 11 | * Created by ximsfei on 17-1-8. 12 | */ 13 | 14 | public class App extends Application { 15 | @Override 16 | public void onCreate() { 17 | super.onCreate(); 18 | SkinMaterialManager.init(this); 19 | SkinCompatManager.init(this).loadSkin(); 20 | SPUtils.init(this); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/com/ximsfei/skindemo/SplashActivity.java: -------------------------------------------------------------------------------- 1 | package com.ximsfei.skindemo; 2 | 3 | import android.content.Intent; 4 | import android.os.Bundle; 5 | import android.view.View; 6 | 7 | import com.ximsfei.skindemo.ui.base.BaseActivity; 8 | 9 | public class SplashActivity extends BaseActivity { 10 | 11 | @Override 12 | protected int getLayoutResId() { 13 | return R.layout.activity_splash; 14 | } 15 | 16 | @Override 17 | protected void onCreate(Bundle savedInstanceState) { 18 | super.onCreate(savedInstanceState); 19 | findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() { 20 | @Override 21 | public void onClick(View v) { 22 | startActivity(new Intent(SplashActivity.this, MainActivity.class)); 23 | overridePendingTransition(R.anim.screen_zoom_in, R.anim.screen_zoom_out); 24 | // finish(); 25 | } 26 | }); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /app/src/main/java/com/ximsfei/skindemo/bean/ImageItem.java: -------------------------------------------------------------------------------- 1 | package com.ximsfei.skindemo.bean; 2 | 3 | /** 4 | * Created by pengfengwang on 2017/1/15. 5 | */ 6 | 7 | public class ImageItem { 8 | public ImageItem() { 9 | } 10 | 11 | public ImageItem(String title, String subtitle, int image) { 12 | this.title = title; 13 | this.subtitle = subtitle; 14 | this.image = image; 15 | } 16 | 17 | public String title; 18 | public String subtitle; 19 | public int image; 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/com/ximsfei/skindemo/bean/RecommendItem.java: -------------------------------------------------------------------------------- 1 | package com.ximsfei.skindemo.bean; 2 | 3 | /** 4 | * Created by pengfengwang on 2017/1/15. 5 | */ 6 | 7 | public class RecommendItem { 8 | public String title; 9 | public int indicator; 10 | 11 | public ImageItem item0; 12 | public ImageItem item1; 13 | public ImageItem item2; 14 | public ImageItem item3; 15 | public ImageItem item4; 16 | public ImageItem item5; 17 | } 18 | -------------------------------------------------------------------------------- /app/src/main/java/com/ximsfei/skindemo/ui/AboutSkinLibActivity.java: -------------------------------------------------------------------------------- 1 | package com.ximsfei.skindemo.ui; 2 | 3 | import android.os.Bundle; 4 | import android.support.annotation.Nullable; 5 | 6 | import com.ximsfei.skindemo.R; 7 | import com.ximsfei.skindemo.databinding.ActivityAboutSkinLibBinding; 8 | import com.ximsfei.skindemo.ui.base.BaseActivity; 9 | 10 | /** 11 | * Created by ximsfei on 2017/1/17. 12 | */ 13 | 14 | public class AboutSkinLibActivity extends BaseActivity { 15 | @Override 16 | protected int getLayoutResId() { 17 | return R.layout.activity_about_skin_lib; 18 | } 19 | 20 | @Override 21 | protected void onCreate(@Nullable Bundle savedInstanceState) { 22 | super.onCreate(savedInstanceState); 23 | initToolbar(mDataBinding.toolBar); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/src/main/java/com/ximsfei/skindemo/ui/DiscoverFragment.java: -------------------------------------------------------------------------------- 1 | package com.ximsfei.skindemo.ui; 2 | 3 | import android.os.Bundle; 4 | import android.support.v4.app.Fragment; 5 | import android.view.LayoutInflater; 6 | 7 | import com.ximsfei.skindemo.R; 8 | import com.ximsfei.skindemo.databinding.FragmentDiscoverBinding; 9 | import com.ximsfei.skindemo.ui.adapter.TabFragmentPagerAdapter; 10 | import com.ximsfei.skindemo.ui.base.BaseFragment; 11 | import com.ximsfei.skindemo.ui.discover.RadioFragment; 12 | import com.ximsfei.skindemo.ui.discover.RankingFragment; 13 | import com.ximsfei.skindemo.ui.discover.RecommendFragment; 14 | import com.ximsfei.skindemo.ui.discover.SongMenuFragment; 15 | 16 | import java.util.ArrayList; 17 | import java.util.List; 18 | 19 | /** 20 | * Created by ximsfei on 17-1-7. 21 | */ 22 | 23 | public class DiscoverFragment extends BaseFragment { 24 | private TabFragmentPagerAdapter mTabFragmentPagerAdapter; 25 | 26 | @Override 27 | protected int getLayoutId() { 28 | return R.layout.fragment_discover; 29 | } 30 | 31 | @Override 32 | protected void onCreateVew(LayoutInflater inflater, Bundle savedInstanceState) { 33 | super.onCreateVew(inflater, savedInstanceState); 34 | configFragments(); 35 | } 36 | 37 | @Override 38 | protected void loadData() { 39 | 40 | } 41 | 42 | private void configFragments() { 43 | List list = new ArrayList<>(); 44 | list.add(new RecommendFragment()); 45 | list.add(new SongMenuFragment()); 46 | list.add(new RadioFragment()); 47 | list.add(new RankingFragment()); 48 | List listTitle = new ArrayList<>(); 49 | listTitle.add("个性推荐"); 50 | listTitle.add("歌单"); 51 | listTitle.add("主播电台"); 52 | listTitle.add("排行榜"); 53 | mTabFragmentPagerAdapter = new TabFragmentPagerAdapter(getChildFragmentManager(), list, listTitle); 54 | mDataBinding.viewPager.setAdapter(mTabFragmentPagerAdapter); 55 | mDataBinding.tabLayout.setupWithViewPager(mDataBinding.viewPager); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /app/src/main/java/com/ximsfei/skindemo/ui/FriendsFragment.java: -------------------------------------------------------------------------------- 1 | package com.ximsfei.skindemo.ui; 2 | 3 | import android.os.Bundle; 4 | import android.support.v4.app.Fragment; 5 | import android.view.LayoutInflater; 6 | 7 | import com.ximsfei.skindemo.R; 8 | import com.ximsfei.skindemo.databinding.FragmentFriendsBinding; 9 | import com.ximsfei.skindemo.ui.adapter.TabFragmentPagerAdapter; 10 | import com.ximsfei.skindemo.ui.base.BaseFragment; 11 | import com.ximsfei.skindemo.ui.friends.ContactsFragment; 12 | import com.ximsfei.skindemo.ui.friends.FeedsFragment; 13 | import com.ximsfei.skindemo.ui.friends.NearbyFragment; 14 | 15 | import java.util.ArrayList; 16 | import java.util.List; 17 | 18 | /** 19 | * Created by ximsfei on 17-1-7. 20 | */ 21 | 22 | public class FriendsFragment extends BaseFragment { 23 | private TabFragmentPagerAdapter mTabFragmentPagerAdapter; 24 | 25 | @Override 26 | protected int getLayoutId() { 27 | return R.layout.fragment_friends; 28 | } 29 | 30 | @Override 31 | protected void onCreateVew(LayoutInflater inflater, Bundle savedInstanceState) { 32 | super.onCreateVew(inflater, savedInstanceState); 33 | configFragments(); 34 | } 35 | 36 | @Override 37 | protected void loadData() { 38 | 39 | } 40 | 41 | private void configFragments() { 42 | List list = new ArrayList<>(); 43 | list.add(new FeedsFragment()); 44 | list.add(new NearbyFragment()); 45 | list.add(new ContactsFragment()); 46 | List listTitle = new ArrayList<>(); 47 | listTitle.add("动态"); 48 | listTitle.add("附近"); 49 | listTitle.add("好友"); 50 | mTabFragmentPagerAdapter = new TabFragmentPagerAdapter(getChildFragmentManager(), list, listTitle); 51 | mDataBinding.viewPager.setAdapter(mTabFragmentPagerAdapter); 52 | mDataBinding.tabLayout.setupWithViewPager(mDataBinding.viewPager); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /app/src/main/java/com/ximsfei/skindemo/ui/MusicFragment.java: -------------------------------------------------------------------------------- 1 | package com.ximsfei.skindemo.ui; 2 | 3 | import com.ximsfei.skindemo.R; 4 | import com.ximsfei.skindemo.databinding.FragmentMusicBinding; 5 | import com.ximsfei.skindemo.ui.base.BaseFragment; 6 | 7 | /** 8 | * Created by ximsfei on 17-1-7. 9 | */ 10 | 11 | public class MusicFragment extends BaseFragment { 12 | @Override 13 | protected int getLayoutId() { 14 | return R.layout.fragment_music; 15 | } 16 | 17 | @Override 18 | protected void loadData() { 19 | 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/java/com/ximsfei/skindemo/ui/adapter/SkinLibAdapter.java: -------------------------------------------------------------------------------- 1 | package com.ximsfei.skindemo.ui.adapter; 2 | 3 | import android.support.v7.widget.RecyclerView; 4 | import android.view.ViewGroup; 5 | 6 | import com.ximsfei.skindemo.ui.adapter.baseadapter.BaseRecyclerViewAdapter; 7 | 8 | /** 9 | * Created by pengfengwang on 2017/1/16. 10 | */ 11 | public class SkinLibAdapter extends BaseRecyclerViewAdapter { 12 | @Override 13 | public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 14 | return null; 15 | } 16 | 17 | @Override 18 | public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { 19 | 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/java/com/ximsfei/skindemo/ui/adapter/SongMenuAdapter.java: -------------------------------------------------------------------------------- 1 | package com.ximsfei.skindemo.ui.adapter; 2 | 3 | import android.content.Context; 4 | import android.support.v4.app.FragmentActivity; 5 | import android.support.v7.widget.RecyclerView; 6 | import android.view.ViewGroup; 7 | 8 | import com.ximsfei.skindemo.bean.RecommendItem; 9 | import com.ximsfei.skindemo.ui.adapter.baseadapter.BaseRecyclerViewAdapter; 10 | 11 | /** 12 | * Created by ximsfei on 17-1-15. 13 | */ 14 | public class SongMenuAdapter extends BaseRecyclerViewAdapter { 15 | public SongMenuAdapter(Context context) { 16 | } 17 | 18 | @Override 19 | public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 20 | return null; 21 | } 22 | 23 | @Override 24 | public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { 25 | 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/src/main/java/com/ximsfei/skindemo/ui/adapter/TabFragmentPagerAdapter.java: -------------------------------------------------------------------------------- 1 | package com.ximsfei.skindemo.ui.adapter; 2 | 3 | import android.support.v4.app.Fragment; 4 | import android.support.v4.app.FragmentManager; 5 | import android.support.v4.app.FragmentPagerAdapter; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * Created by ximsfei on 17-1-7. 11 | */ 12 | 13 | public class TabFragmentPagerAdapter extends FragmentPagerAdapter { 14 | 15 | private List mFragments; 16 | private List mTitles; 17 | 18 | public TabFragmentPagerAdapter(FragmentManager fragmentManager, List fragments) { 19 | super(fragmentManager); 20 | mFragments = fragments; 21 | } 22 | 23 | public TabFragmentPagerAdapter(FragmentManager fragmentManager, List fragments, List titles) { 24 | super(fragmentManager); 25 | mFragments = fragments; 26 | mTitles = titles; 27 | } 28 | 29 | @Override 30 | public Fragment getItem(int position) { 31 | return mFragments.get(position); 32 | } 33 | 34 | @Override 35 | public int getCount() { 36 | return mFragments.size(); 37 | } 38 | 39 | @Override 40 | public CharSequence getPageTitle(int position) { 41 | return mTitles != null ? mTitles.get(position) : ""; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /app/src/main/java/com/ximsfei/skindemo/ui/adapter/baseadapter/BaseRecyclerViewAdapter.java: -------------------------------------------------------------------------------- 1 | package com.ximsfei.skindemo.ui.adapter.baseadapter; 2 | 3 | import android.support.v7.widget.RecyclerView; 4 | 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | 8 | /** 9 | * Created by ximsfei on 2017/1/15. 10 | */ 11 | public abstract class BaseRecyclerViewAdapter extends RecyclerView.Adapter { 12 | 13 | protected List data = new ArrayList<>(); 14 | protected OnItemClickListener listener; 15 | 16 | @Override 17 | public void onBindViewHolder(BaseRecyclerViewHolder holder, final int position) { 18 | holder.onBaseBindViewHolder(data.get(position), position); 19 | } 20 | 21 | @Override 22 | public int getItemCount() { 23 | return data.size(); 24 | } 25 | 26 | public void addAll(List data) { 27 | this.data.addAll(data); 28 | } 29 | 30 | public void add(T object) { 31 | data.add(object); 32 | } 33 | 34 | public void clear() { 35 | data.clear(); 36 | } 37 | 38 | public void remove(T object) { 39 | data.remove(object); 40 | } 41 | 42 | public void remove(int position) { 43 | data.remove(position); 44 | } 45 | 46 | public void removeAll(List data) { 47 | this.data.retainAll(data); 48 | } 49 | 50 | public void setOnItemClickListener(OnItemClickListener listener) { 51 | this.listener = listener; 52 | } 53 | 54 | public List getData() { 55 | return data; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /app/src/main/java/com/ximsfei/skindemo/ui/adapter/baseadapter/BaseRecyclerViewHolder.java: -------------------------------------------------------------------------------- 1 | package com.ximsfei.skindemo.ui.adapter.baseadapter; 2 | 3 | import android.databinding.DataBindingUtil; 4 | import android.databinding.ViewDataBinding; 5 | import android.support.v7.widget.RecyclerView; 6 | import android.view.LayoutInflater; 7 | import android.view.ViewGroup; 8 | 9 | /** 10 | * Created by ximsfei on 2017/1/15. 11 | */ 12 | public abstract class BaseRecyclerViewHolder extends RecyclerView.ViewHolder { 13 | 14 | public D mBinding; 15 | 16 | public BaseRecyclerViewHolder(ViewGroup viewGroup, int layoutId) { 17 | super(DataBindingUtil.inflate(LayoutInflater.from(viewGroup.getContext()), layoutId, viewGroup, false).getRoot()); 18 | mBinding = DataBindingUtil.getBinding(this.itemView); 19 | } 20 | 21 | /** 22 | * @param bean the data of bind 23 | * @param position the item position of recyclerView 24 | */ 25 | public abstract void onBindViewHolder(T bean, final int position); 26 | 27 | /** 28 | * 当数据改变时,binding会在下一帧去改变数据,如果我们需要立即改变,就去调用executePendingBindings方法。 29 | */ 30 | void onBaseBindViewHolder(T object, final int position) { 31 | onBindViewHolder(object, position); 32 | mBinding.executePendingBindings(); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /app/src/main/java/com/ximsfei/skindemo/ui/adapter/baseadapter/OnItemClickListener.java: -------------------------------------------------------------------------------- 1 | package com.ximsfei.skindemo.ui.adapter.baseadapter; 2 | 3 | /** 4 | * Created by ximsfei on 2017/1/15. 5 | */ 6 | public interface OnItemClickListener { 7 | public void onClick(T t, int position); 8 | } 9 | -------------------------------------------------------------------------------- /app/src/main/java/com/ximsfei/skindemo/ui/base/BaseFragment.java: -------------------------------------------------------------------------------- 1 | package com.ximsfei.skindemo.ui.base; 2 | 3 | import android.databinding.DataBindingUtil; 4 | import android.databinding.ViewDataBinding; 5 | import android.os.Bundle; 6 | import android.support.annotation.LayoutRes; 7 | import android.support.annotation.Nullable; 8 | import android.support.v4.app.Fragment; 9 | import android.view.LayoutInflater; 10 | import android.view.View; 11 | import android.view.ViewGroup; 12 | 13 | /** 14 | * Created by ximsfei on 17-1-7. 15 | */ 16 | 17 | public abstract class BaseFragment extends Fragment { 18 | protected VDB mDataBinding; 19 | 20 | @LayoutRes 21 | protected abstract int getLayoutId(); 22 | 23 | @Override 24 | public void onActivityCreated(@Nullable Bundle savedInstanceState) { 25 | super.onActivityCreated(savedInstanceState); 26 | loadData(); 27 | } 28 | 29 | @Nullable 30 | @Override 31 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 32 | View view = inflater.inflate(getLayoutId(), null); 33 | mDataBinding = DataBindingUtil.bind(view); 34 | onCreateVew(inflater, savedInstanceState); 35 | return view; 36 | } 37 | 38 | protected void onCreateVew(LayoutInflater inflater, Bundle savedInstanceState) { 39 | 40 | } 41 | 42 | protected abstract void loadData(); 43 | } 44 | -------------------------------------------------------------------------------- /app/src/main/java/com/ximsfei/skindemo/ui/discover/RankingFragment.java: -------------------------------------------------------------------------------- 1 | package com.ximsfei.skindemo.ui.discover; 2 | 3 | import com.ximsfei.skindemo.R; 4 | import com.ximsfei.skindemo.databinding.FragmentRankingBinding; 5 | import com.ximsfei.skindemo.ui.base.BaseFragment; 6 | 7 | /** 8 | * Created by ximsfei on 17-1-8. 9 | */ 10 | 11 | public class RankingFragment extends BaseFragment { 12 | @Override 13 | protected int getLayoutId() { 14 | return R.layout.fragment_ranking; 15 | } 16 | 17 | @Override 18 | protected void loadData() { 19 | 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/java/com/ximsfei/skindemo/ui/discover/SongMenuFragment.java: -------------------------------------------------------------------------------- 1 | package com.ximsfei.skindemo.ui.discover; 2 | 3 | import android.databinding.DataBindingUtil; 4 | import android.os.Bundle; 5 | import android.support.v7.widget.DefaultItemAnimator; 6 | import android.support.v7.widget.LinearLayoutManager; 7 | import android.view.LayoutInflater; 8 | 9 | import com.ximsfei.skindemo.R; 10 | import com.ximsfei.skindemo.databinding.FragmentSongBinding; 11 | import com.ximsfei.skindemo.databinding.HeaderSongItemBinding; 12 | import com.ximsfei.skindemo.ui.adapter.SongMenuAdapter; 13 | import com.ximsfei.skindemo.ui.base.BaseFragment; 14 | 15 | /** 16 | * Created by ximsfei on 17-1-8. 17 | */ 18 | 19 | public class SongMenuFragment extends BaseFragment { 20 | private HeaderSongItemBinding mHeaderBinding; 21 | private SongMenuAdapter mAdapter; 22 | 23 | @Override 24 | protected int getLayoutId() { 25 | return R.layout.fragment_song; 26 | } 27 | 28 | @Override 29 | protected void onCreateVew(LayoutInflater inflater, Bundle savedInstanceState) { 30 | super.onCreateVew(inflater, savedInstanceState); 31 | mHeaderBinding = DataBindingUtil.inflate(LayoutInflater.from(getContext()), R.layout.header_song_item, null, false); 32 | initRecyclerView(); 33 | } 34 | 35 | private void initRecyclerView() { 36 | mDataBinding.recyclerView.setPullRefreshEnabled(false); 37 | mDataBinding.recyclerView.setLoadingMoreEnabled(true); 38 | mDataBinding.recyclerView.addHeaderView(mHeaderBinding.getRoot()); 39 | mDataBinding.recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); 40 | mDataBinding.recyclerView.setNestedScrollingEnabled(false); 41 | mDataBinding.recyclerView.setHasFixedSize(false); 42 | mDataBinding.recyclerView.setItemAnimator(new DefaultItemAnimator()); 43 | mAdapter = new SongMenuAdapter(getActivity()); 44 | mDataBinding.recyclerView.setAdapter(mAdapter); 45 | } 46 | 47 | @Override 48 | protected void loadData() { 49 | 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /app/src/main/java/com/ximsfei/skindemo/ui/friends/ContactsFragment.java: -------------------------------------------------------------------------------- 1 | package com.ximsfei.skindemo.ui.friends; 2 | 3 | import com.ximsfei.skindemo.R; 4 | import com.ximsfei.skindemo.ui.base.BaseFragment; 5 | 6 | /** 7 | * Created by ximsfei on 17-1-8. 8 | */ 9 | 10 | public class ContactsFragment extends BaseFragment { 11 | @Override 12 | protected int getLayoutId() { 13 | return R.layout.fragment_contacts; 14 | } 15 | 16 | @Override 17 | protected void loadData() { 18 | 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/com/ximsfei/skindemo/ui/friends/FeedsFragment.java: -------------------------------------------------------------------------------- 1 | package com.ximsfei.skindemo.ui.friends; 2 | 3 | import com.ximsfei.skindemo.R; 4 | import com.ximsfei.skindemo.ui.base.BaseFragment; 5 | 6 | /** 7 | * Created by ximsfei on 17-1-8. 8 | */ 9 | 10 | public class FeedsFragment extends BaseFragment { 11 | @Override 12 | protected int getLayoutId() { 13 | return R.layout.fragment_feeds; 14 | } 15 | 16 | @Override 17 | protected void loadData() { 18 | 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/com/ximsfei/skindemo/ui/friends/NearbyFragment.java: -------------------------------------------------------------------------------- 1 | package com.ximsfei.skindemo.ui.friends; 2 | 3 | import com.ximsfei.skindemo.R; 4 | import com.ximsfei.skindemo.ui.base.BaseFragment; 5 | 6 | /** 7 | * Created by ximsfei on 17-1-8. 8 | */ 9 | 10 | public class NearbyFragment extends BaseFragment { 11 | @Override 12 | protected int getLayoutId() { 13 | return R.layout.fragment_nearby; 14 | } 15 | 16 | @Override 17 | protected void loadData() { 18 | 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/com/ximsfei/skindemo/utils/SPUtils.java: -------------------------------------------------------------------------------- 1 | package com.ximsfei.skindemo.utils; 2 | 3 | import android.content.Context; 4 | import android.content.SharedPreferences; 5 | 6 | import skin.support.SkinCompatManager; 7 | 8 | /** 9 | * Created by ximsfei on 17-1-8. 10 | */ 11 | 12 | public class SPUtils { 13 | private static final String FILE_NAME = "meta-data"; 14 | 15 | private static final String KEY_MODE_NIGHT = "mode-night"; 16 | private static final String KEY_CUR_SKIN = "cur-skin"; 17 | private static SPUtils sInstance; 18 | private final Context mApp; 19 | private final SharedPreferences mPref; 20 | private final SharedPreferences.Editor mEditor; 21 | 22 | public static void init(Context context) { 23 | if (sInstance == null) { 24 | synchronized (SPUtils.class) { 25 | if (sInstance == null) { 26 | sInstance = new SPUtils(context.getApplicationContext()); 27 | } 28 | } 29 | } 30 | } 31 | 32 | public static SPUtils getInstance() { 33 | return sInstance; 34 | } 35 | 36 | private SPUtils(Context applicationContext) { 37 | mApp = applicationContext; 38 | mPref = mApp.getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE); 39 | mEditor = mPref.edit(); 40 | } 41 | 42 | public SPUtils setNightMode(boolean nightMode) { 43 | mEditor.putBoolean(KEY_MODE_NIGHT, nightMode); 44 | return this; 45 | } 46 | 47 | public boolean getNightMode() { 48 | return mPref.getBoolean(KEY_MODE_NIGHT, false); 49 | } 50 | 51 | public void commitEditor() { 52 | mEditor.apply(); 53 | } 54 | 55 | public SPUtils setCurSkin(String curSkinName) { 56 | mEditor.putString(KEY_CUR_SKIN, curSkinName); 57 | return this; 58 | } 59 | 60 | public String getCurSkin() { 61 | return mPref.getString(KEY_CUR_SKIN, ""); 62 | } 63 | } -------------------------------------------------------------------------------- /app/src/main/java/com/ximsfei/skindemo/widget/SquareImageView.java: -------------------------------------------------------------------------------- 1 | package com.ximsfei.skindemo.widget; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.widget.ImageView; 6 | 7 | /** 8 | * Created by pengfengwang on 2017/1/16. 9 | */ 10 | 11 | public class SquareImageView extends ImageView { 12 | private static final float DEFAULT_ASPECT_RATIO = 1.0f; 13 | private float mAspectRatio = DEFAULT_ASPECT_RATIO; 14 | 15 | public SquareImageView(Context context) { 16 | super(context); 17 | } 18 | 19 | public SquareImageView(Context context, AttributeSet attrs) { 20 | super(context, attrs); 21 | } 22 | 23 | public SquareImageView(Context context, AttributeSet attrs, int defStyleAttr) { 24 | super(context, attrs, defStyleAttr); 25 | } 26 | 27 | @Override 28 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 29 | super.onMeasure(widthMeasureSpec, heightMeasureSpec); 30 | if (mAspectRatio <= 0) { 31 | mAspectRatio = DEFAULT_ASPECT_RATIO; 32 | } 33 | setMeasuredDimension(getMeasuredWidth(), (int) (getMeasuredWidth() * mAspectRatio)); 34 | } 35 | 36 | public void setAspectRatio(float aspectRatio) { 37 | mAspectRatio = aspectRatio; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /app/src/main/res/anim/screen_zoom_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/anim/screen_zoom_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/color/day_recommend_color_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/color/fine_song_background_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/color/select_song_menu_stroke_color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/color/selectable_text_color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/b_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/b_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/b_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/b_2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/b_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/b_3.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/b_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/b_4.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/b_5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/b_5.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/b_6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/b_6.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/ic_screen_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/ic_screen_default.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/splash0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/splash0.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/splash1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/splash1.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/splash10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/splash10.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/splash11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/splash11.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/splash12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/splash12.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/splash13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/splash13.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/splash14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/splash14.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/splash15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/splash15.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/splash16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/splash16.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/splash2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/splash2.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/splash3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/splash3.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/splash4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/splash4.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/splash5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/splash5.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/splash6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/splash6.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/splash7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/splash7.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/splash8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/splash8.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/splash9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-nodpi/splash9.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/header_layout_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/header_layout_bg.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_10.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_11.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_12.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_13.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_14.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_15.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_16.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_17.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_18.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_19.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_20.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_21.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_22.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_23.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_24.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_25.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_26.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_27.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_28.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_29.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_3.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_30.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_4.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_5.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_6.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_7.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_8.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_six_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/home_six_9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/message.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/photo.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xhdpi/photo.jpeg -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/actionbar_discover_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/actionbar_discover_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/actionbar_discover_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/actionbar_discover_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/actionbar_friends_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/actionbar_friends_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/actionbar_friends_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/actionbar_friends_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/actionbar_music_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/actionbar_music_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/actionbar_music_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/actionbar_music_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/android_group.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/android_group.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/home_banner_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/home_banner_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/home_banner_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/home_banner_10.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/home_banner_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/home_banner_11.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/home_banner_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/home_banner_12.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/home_banner_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/home_banner_2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/home_banner_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/home_banner_3.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/home_banner_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/home_banner_4.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/home_banner_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/home_banner_5.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/home_banner_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/home_banner_6.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/home_banner_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/home_banner_7.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/home_banner_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/home_banner_8.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/home_banner_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/home_banner_9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_back.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_banner_grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_banner_grey.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_banner_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_banner_red.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_birthday_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_birthday_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_birthday_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_birthday_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_day_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_day_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_day_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_day_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_daynight_indicator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_daynight_indicator.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_driving_mode_indicator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_driving_mode_indicator.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_fm_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_fm_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_fm_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_fm_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_indicator_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_indicator_0.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_indicator_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_indicator_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_indicator_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_indicator_2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_indicator_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_indicator_3.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_indicator_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_indicator_4.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_menu.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_message_indicator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_message_indicator.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_more_indicator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_more_indicator.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_music_alarm_indicator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_music_alarm_indicator.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_online_indicator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_online_indicator.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_rank_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_rank_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_rank_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_rank_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_scanner_indicator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_scanner_indicator.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_search_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_search_white.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_shopping_indicator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_shopping_indicator.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_skin_selected_indicator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_skin_selected_indicator.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_sound_hound_indicator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_sound_hound_indicator.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_theme_indicator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_theme_indicator.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_timing_indicator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_timing_indicator.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_vip_indicator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/ic_vip_indicator.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/loading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/loading.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/login_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/login_bg.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/sign_in_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/sign_in_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/sign_in_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/sign_in_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/skin_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/skin_color.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/skin_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/skin_red.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/skin_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wutongke/AndroidSkinAnimator/b0716bf7ef411970fba29e1e6a38591ef805ebad/app/src/main/res/drawable-xxhdpi/skin_white.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/actionbar_discover.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/actionbar_friends.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/actionbar_music.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/day_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/fm_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/home_adjust_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/rank_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/select_song_menu_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_bg_level.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_bg_sign.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/sign_in_icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_skin_lib.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 10 | 11 | 14 | 15 | 16 | 20 | 21 | 28 | 29 | 38 | 39 | 40 | 41 | 42 | 46 | 47 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_splash.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 |