Просмотр исходного кода

实现切换皮肤支持TextView设置字体

zengjiebin лет назад: 7
Родитель
Сommit
f982ca8722
61 измененных файлов с 617 добавлено и 10 удалено
  1. 1 0
      .idea/gradle.xml
  2. 1 4
      app/src/main/java/com/sheep/gamegroup/util/TestUtil.java
  3. 5 0
      app/src/main/res/drawable/bg_h_dgtg1.xml
  4. 5 0
      app/src/main/res/drawable/bg_h_dgtg2.xml
  5. 8 3
      app/src/main/res/layout/dialog_game_or_task_or_gift.xml
  6. 0 2
      app/src/main/res/values/dimens.xml
  7. 1 1
      settings.gradle
  8. 1 0
      skin-support/.gitignore
  9. 34 0
      skin-support/build.gradle
  10. 17 0
      skin-support/proguard-rules.pro
  11. 4 0
      skin-support/src/main/AndroidManifest.xml
  12. 5 0
      skin-support/src/main/res-alertdialog/drawable/skin_btn_check.xml
  13. 9 0
      skin-support/src/main/res-alertdialog/drawable/skin_btn_check_box.xml
  14. 9 0
      skin-support/src/main/res-alertdialog/drawable/skin_btn_check_box_outline_blank.xml
  15. 5 0
      skin-support/src/main/res-alertdialog/drawable/skin_btn_radio.xml
  16. 9 0
      skin-support/src/main/res-alertdialog/drawable/skin_btn_radio_checked.xml
  17. 9 0
      skin-support/src/main/res-alertdialog/drawable/skin_btn_radio_unchecked.xml
  18. 87 0
      skin-support/src/main/res-alertdialog/layout/skin_alert_dialog.xml
  19. 49 0
      skin-support/src/main/res-alertdialog/layout/skin_alert_dialog_button_bar.xml
  20. 45 0
      skin-support/src/main/res-alertdialog/layout/skin_alert_dialog_title.xml
  21. 22 0
      skin-support/src/main/res-alertdialog/layout/skin_select_dialog.xml
  22. 18 0
      skin-support/src/main/res-alertdialog/layout/skin_select_dialog_item.xml
  23. 17 0
      skin-support/src/main/res-alertdialog/layout/skin_select_dialog_multichoice.xml
  24. 17 0
      skin-support/src/main/res-alertdialog/layout/skin_select_dialog_singlechoice.xml
  25. 14 0
      skin-support/src/main/res-alertdialog/values/attrs.xml
  26. 8 0
      skin-support/src/main/res-alertdialog/values/dimens.xml
  27. 11 0
      skin-support/src/main/res-alertdialog/values/styles.xml
  28. 38 0
      skin-support/src/main/res/values/attrs.xml
  29. 3 0
      skin-support/src/main/res/values/strings.xml
  30. 1 0
      skin_christmas/.gitignore
  31. 38 0
      skin_christmas/build.gradle
  32. 21 0
      skin_christmas/proguard-rules.pro
  33. 4 0
      skin_christmas/src/main/AndroidManifest.xml
  34. BIN
      skin_christmas/src/main/res/drawable-xxhdpi/homepage_faxian.png
  35. BIN
      skin_christmas/src/main/res/drawable-xxhdpi/homepage_faxian_click.png
  36. BIN
      skin_christmas/src/main/res/drawable-xxhdpi/homepage_wode.png
  37. BIN
      skin_christmas/src/main/res/drawable-xxhdpi/homepage_wode_click.png
  38. BIN
      skin_christmas/src/main/res/drawable-xxhdpi/homepage_zhuanqian.png
  39. BIN
      skin_christmas/src/main/res/drawable-xxhdpi/homepage_zhuanqian_click.png
  40. BIN
      skin_christmas/src/main/res/drawable-xxhdpi/tab_click_yaoqing.png
  41. BIN
      skin_christmas/src/main/res/drawable-xxhdpi/tab_game.png
  42. BIN
      skin_christmas/src/main/res/drawable-xxhdpi/tab_game_blue.png
  43. BIN
      skin_christmas/src/main/res/drawable-xxhdpi/tab_yaoqing.png
  44. 5 0
      skin_christmas/src/main/res/drawable/bg_h_dgtg1.xml
  45. 5 0
      skin_christmas/src/main/res/drawable/bg_h_dgtg2.xml
  46. 10 0
      skin_christmas/src/main/res/drawable/button_full_normal_gray.xml
  47. 8 0
      skin_christmas/src/main/res/drawable/drawable_selector_askgetmoney.xml
  48. 8 0
      skin_christmas/src/main/res/drawable/drawable_selector_find.xml
  49. 8 0
      skin_christmas/src/main/res/drawable/drawable_selector_game_center.xml
  50. 8 0
      skin_christmas/src/main/res/drawable/drawable_selector_personalcenter.xml
  51. 8 0
      skin_christmas/src/main/res/drawable/drawable_selector_task.xml
  52. 9 0
      skin_christmas/src/main/res/drawable/selector_btn_blue.xml
  53. 9 0
      skin_christmas/src/main/res/drawable/selector_btn_purple.xml
  54. 12 0
      skin_christmas/src/main/res/drawable/shape_red_stroke_rectangle_no_lb.xml
  55. BIN
      skin_christmas/src/main/res/mipmap-xxhdpi/bg_qiangrew.png
  56. BIN
      skin_christmas/src/main/res/mipmap-xxhdpi/home_blue_bg.png
  57. BIN
      skin_christmas/src/main/res/mipmap-xxhdpi/huanyig.png
  58. BIN
      skin_christmas/src/main/res/mipmap-xxhdpi/lanse.png
  59. BIN
      skin_christmas/src/main/res/mipmap-xxhdpi/red_package_floatbtn.png
  60. 8 0
      skin_christmas/src/main/res/values/colors.xml
  61. 3 0
      skin_christmas/src/main/res/values/dimens.xml

+ 1 - 0
.idea/gradle.xml

@@ -15,6 +15,7 @@
             <option value="$PROJECT_DIR$/media/cge_library" />
             <option value="$PROJECT_DIR$/media/share_library" />
             <option value="$PROJECT_DIR$/skin-support" />
+            <option value="$PROJECT_DIR$/skin_christmas" />
             <option value="$PROJECT_DIR$/ucrop" />
             <option value="$PROJECT_DIR$/view" />
           </set>

+ 1 - 4
app/src/main/java/com/sheep/gamegroup/util/TestUtil.java

@@ -260,7 +260,7 @@ public class TestUtil {
      */
     public static void test(final Activity activity) {
         final String[] items = {"复制token", "添加token", "复制打点数据", "从jenkins下载小绵羊安装包", "测试表情包",
-                "dialog_gtg_top", "切换皮肤", "默认皮肤", "我的游戏", "优惠券弹窗", "填写收件地址弹窗",
+                "切换皮肤", "默认皮肤", "我的游戏", "优惠券弹窗", "填写收件地址弹窗",
                 "朗读文字", "游戏搜索", "测试插件","测试bitmap", "剪切视频", "我的关注", "足迹",
                 "测试联通卡", "测试联通卡2", "测试签名1", "测试签名2", "测试孔剑秋faq正式服",
                 "跳转QQ1", "跳转QQ2", "跳转QQ3", "跳转白白QQ", "龙猫竞猜", "龙猫竞猜-scheme",
@@ -280,9 +280,6 @@ public class TestUtil {
                     @Override
                     public void onClick(DialogInterface dialog, int which) {
                         switch (items[which]) {
-                            case "dialog_gtg_top":
-                                G.showToast(G.DENSITY+"////////"+activity.getResources().getDimension(R.dimen.dialog_gtg_top)+"////////"+G.getRealPix(90));
-                                break;
                             case "切换皮肤":
                                 SkinUtil.changeSkin(null);
                                 break;

+ 5 - 0
app/src/main/res/drawable/bg_h_dgtg1.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <size android:height="90dp" android:width="1dp"/>
+</shape>

+ 5 - 0
app/src/main/res/drawable/bg_h_dgtg2.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <size android:height="5dp" android:width="1dp"/>
+</shape>

+ 8 - 3
app/src/main/res/layout/dialog_game_or_task_or_gift.xml

@@ -11,12 +11,14 @@
         android:background="@mipmap/bg_qiangrew"
         android:gravity="center_horizontal"
         android:orientation="vertical">
-
+        <ImageView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@drawable/bg_h_dgtg1"/>
         <ImageView
             android:id="@+id/dialog_iv"
             android:layout_width="@dimen/content_padding_65"
             android:layout_height="@dimen/content_padding_65"
-            android:layout_marginTop="@dimen/dialog_gtg_top"
             android:src="@drawable/loading_01" />
 
         <TextView
@@ -72,12 +74,15 @@
                 android:text="现金" />
         </LinearLayout>
 
+        <ImageView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@drawable/bg_h_dgtg2"/>
         <TextView
             android:id="@+id/dialog_gift_code_tv"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_marginStart="50dp"
-            android:layout_marginTop="@dimen/dialog_gtg_code_top"
             android:layout_marginEnd="50dp"
             android:text="@string/gift_bag_code"
             android:textColor="#fffd2d54"

+ 0 - 2
app/src/main/res/values/dimens.xml

@@ -6,8 +6,6 @@
 
 
     <dimen name="textSize1">12sp</dimen>
-    <dimen name="dialog_gtg_top">90dp</dimen>
-    <dimen name="dialog_gtg_code_top">42dp</dimen>
     <dimen name="ts_dialog_gtg_name">16sp</dimen>
 
 </resources>

+ 1 - 1
settings.gradle

@@ -1,4 +1,4 @@
-include ':app', ':view', ':ucrop', ':WaterWaveProgress', ':media', ':share_library', ':joevideolib', ':cge_library', ':skin-support'//, ':RxGalleryFinal', ':Aria', ':datashare', ':AriaAnnotations'
+include ':app', ':view', ':ucrop', ':WaterWaveProgress', ':media', ':share_library', ':joevideolib', ':cge_library', ':skin-support', ':skin_christmas'//, ':RxGalleryFinal', ':Aria', ':datashare', ':AriaAnnotations'
 
 project(':media').projectDir = new File('media/app')
 project(':share_library').projectDir = new File('media/share_library')

+ 1 - 0
skin-support/.gitignore

@@ -0,0 +1 @@
+/build

+ 34 - 0
skin-support/build.gradle

@@ -0,0 +1,34 @@
+apply plugin: 'com.android.library'
+
+android {
+    compileSdkVersion ANDROID_COMPILE_SDK_VERSION as int
+
+    defaultConfig {
+        minSdkVersion ANDROID_MIN_SDK_VERSION as int
+        targetSdkVersion ANDORID_TARGET_SDK_VERSION as int
+        versionCode 1
+        versionName "1.0"
+    }
+    buildTypes {
+        release {
+            minifyEnabled false
+            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+        }
+    }
+    sourceSets {
+        main {
+            res.srcDirs = ['src/main/res', 'src/main/res-alertdialog']
+        }
+    }
+}
+
+dependencies {
+    implementation "com.android.support:appcompat-v7:$supportLibVersion"
+}
+
+tasks.withType(Javadoc) {
+    options.addStringOption('Xdoclint:none', '-quiet')
+    options.addStringOption('encoding', 'UTF-8')
+    options.addStringOption('charSet', 'UTF-8')
+}
+

+ 17 - 0
skin-support/proguard-rules.pro

@@ -0,0 +1,17 @@
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in /home/ximsfei/Android/Sdk/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the proguardFiles
+# directive in build.gradle.
+#
+# For more details, see
+#   http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+#   public *;
+#}

+ 4 - 0
skin-support/src/main/AndroidManifest.xml

@@ -0,0 +1,4 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="skin.support">
+
+</manifest>

+ 5 - 0
skin-support/src/main/res-alertdialog/drawable/skin_btn_check.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/skin_btn_check_box" android:state_checked="true" />
+    <item android:drawable="@drawable/skin_btn_check_box_outline_blank" />
+</selector>

+ 9 - 0
skin-support/src/main/res-alertdialog/drawable/skin_btn_check_box.xml

@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M19,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.11,0 2,-0.9 2,-2L21,5c0,-1.1 -0.89,-2 -2,-2zM10,17l-5,-5 1.41,-1.41L10,14.17l7.59,-7.59L19,8l-9,9z"/>
+</vector>

+ 9 - 0
skin-support/src/main/res-alertdialog/drawable/skin_btn_check_box_outline_blank.xml

@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M19,5v14H5V5h14m0,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2V5c0,-1.1 -0.9,-2 -2,-2z"/>
+</vector>

+ 5 - 0
skin-support/src/main/res-alertdialog/drawable/skin_btn_radio.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/skin_btn_radio_checked" android:state_checked="true" />
+    <item android:drawable="@drawable/skin_btn_radio_unchecked" />
+</selector>

+ 9 - 0
skin-support/src/main/res-alertdialog/drawable/skin_btn_radio_checked.xml

@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M12,7c-2.76,0 -5,2.24 -5,5s2.24,5 5,5 5,-2.24 5,-5 -2.24,-5 -5,-5zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8 -8,8z" />
+</vector>

+ 9 - 0
skin-support/src/main/res-alertdialog/drawable/skin_btn_radio_unchecked.xml

@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8 -8,8z" />
+</vector>

+ 87 - 0
skin-support/src/main/res-alertdialog/layout/skin_alert_dialog.xml

@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/parentPanel"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="?attr/skinAlertDialogBackground"
+    android:gravity="start|left|top"
+    android:orientation="vertical">
+
+    <include layout="@layout/skin_alert_dialog_title" />
+
+    <FrameLayout
+        android:id="@+id/contentPanel"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:minHeight="48dp">
+
+        <View
+            android:id="@+id/scrollIndicatorUp"
+            android:layout_width="match_parent"
+            android:layout_height="1dp"
+            android:layout_gravity="top"
+            android:background="?attr/skinAlertDialogControlHighlightColor"
+            android:visibility="gone" />
+
+        <android.support.v4.widget.NestedScrollView
+            android:id="@+id/scrollView"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:clipToPadding="false">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical">
+
+                <android.support.v4.widget.Space
+                    android:id="@+id/textSpacerNoTitle"
+                    android:layout_width="match_parent"
+                    android:layout_height="@dimen/abc_dialog_padding_top_material"
+                    android:visibility="gone" />
+
+                <TextView
+                    android:id="@android:id/message"
+                    style="@style/TextAppearance.AppCompat.Subhead"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:paddingLeft="?attr/dialogPreferredPadding"
+                    android:paddingRight="?attr/dialogPreferredPadding"
+                    android:textColor="?attr/skinAlertDialogMessageTextColor" />
+
+                <android.support.v4.widget.Space
+                    android:id="@+id/textSpacerNoButtons"
+                    android:layout_width="match_parent"
+                    android:layout_height="@dimen/skin_dialog_padding_top"
+                    android:visibility="gone" />
+            </LinearLayout>
+        </android.support.v4.widget.NestedScrollView>
+
+        <View
+            android:id="@+id/scrollIndicatorDown"
+            android:layout_width="match_parent"
+            android:layout_height="1dp"
+            android:layout_gravity="bottom"
+            android:background="?attr/skinAlertDialogControlHighlightColor"
+            android:visibility="gone" />
+
+    </FrameLayout>
+
+    <FrameLayout
+        android:id="@+id/customPanel"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:minHeight="48dp">
+
+        <FrameLayout
+            android:id="@+id/custom"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content" />
+    </FrameLayout>
+
+    <include
+        layout="@layout/skin_alert_dialog_button_bar"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content" />
+
+</LinearLayout>

+ 49 - 0
skin-support/src/main/res-alertdialog/layout/skin_alert_dialog_button_bar.xml

@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/buttonPanel"
+    style="?attr/buttonBarStyle"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:fillViewport="true">
+
+    <android.support.v7.widget.ButtonBarLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="bottom"
+        android:orientation="horizontal"
+        android:paddingBottom="4dp"
+        android:paddingLeft="12dp"
+        android:paddingRight="12dp"
+        android:paddingTop="4dp">
+
+        <Button
+            android:id="@android:id/button3"
+            style="?attr/buttonBarNeutralButtonStyle"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textColor="?attr/skinAlertDialogNeutralButtonTextColor" />
+
+        <android.support.v4.widget.Space
+            android:id="@+id/spacer"
+            android:layout_width="0dp"
+            android:layout_height="0dp"
+            android:layout_weight="1"
+            android:visibility="invisible" />
+
+        <Button
+            android:id="@android:id/button2"
+            style="?attr/buttonBarNegativeButtonStyle"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textColor="?attr/skinAlertDialogNegativeButtonTextColor" />
+
+        <Button
+            android:id="@android:id/button1"
+            style="?attr/buttonBarPositiveButtonStyle"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textColor="?attr/skinAlertDialogPositiveButtonTextColor" />
+
+    </android.support.v7.widget.ButtonBarLayout>
+
+</ScrollView>

+ 45 - 0
skin-support/src/main/res-alertdialog/layout/skin_alert_dialog_title.xml

@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/topPanel"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical">
+
+    <!-- If the client uses a customTitle, it will be added here. -->
+
+    <LinearLayout
+        android:id="@+id/title_template"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center_vertical|start|left"
+        android:orientation="horizontal"
+        android:paddingLeft="?attr/dialogPreferredPadding"
+        android:paddingRight="?attr/dialogPreferredPadding"
+        android:paddingTop="@dimen/skin_dialog_padding_top">
+
+        <ImageView
+            android:id="@android:id/icon"
+            android:layout_width="32dip"
+            android:layout_height="32dip"
+            android:layout_marginEnd="8dip"
+            android:layout_marginRight="8dip"
+            android:scaleType="fitCenter"
+            android:src="@null" />
+
+        <TextView
+            android:id="@+id/alertTitle"
+            style="?android:attr/windowTitleStyle"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:textColor="?attr/skinAlertDialogTitleTextColor"
+            android:ellipsize="end"
+            android:singleLine="true" />
+
+    </LinearLayout>
+
+    <android.support.v4.widget.Space
+        android:id="@+id/titleDividerNoCustom"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/skin_dialog_title_divider"
+        android:visibility="gone" />
+</LinearLayout>

+ 22 - 0
skin-support/src/main/res-alertdialog/layout/skin_select_dialog.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+    This layout file is used by the AlertDialog when displaying a list of items.
+    This layout file is inflated and used as the ListView to display the items.
+    Assign an ID so its state will be saved/restored.
+-->
+<view xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/select_dialog_listview"
+    style="@style/Widget.AppCompat.ListView"
+    class="android.support.v7.app.AlertController$RecycleListView"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:cacheColorHint="@null"
+    android:clipToPadding="false"
+    android:divider="?attr/skinAlertDialogListDivider"
+    android:fadingEdge="none"
+    android:overScrollMode="ifContentScrolls"
+    android:scrollbars="vertical"
+    app:paddingBottomNoButtons="@dimen/skin_dialog_list_padding_bottom_no_buttons"
+    app:paddingTopNoTitle="@dimen/skin_dialog_list_padding_top_no_title" />

+ 18 - 0
skin-support/src/main/res-alertdialog/layout/skin_select_dialog_item.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+    This layout file is used by the AlertDialog when displaying a list of items.
+    This layout file is inflated and used as the TextView to display individual
+    items.
+-->
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@android:id/text1"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:ellipsize="marquee"
+    android:gravity="center_vertical"
+    android:minHeight="?attr/listPreferredItemHeightSmall"
+    android:paddingLeft="?attr/listPreferredItemPaddingLeft"
+    android:paddingRight="?attr/listPreferredItemPaddingRight"
+    android:textAppearance="?attr/textAppearanceListItemSmall"
+    android:textColor="?attr/skinAlertDialogListItemTextColor" />

+ 17 - 0
skin-support/src/main/res-alertdialog/layout/skin_select_dialog_multichoice.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@android:id/text1"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:drawableLeft="?attr/skinListChoiceIndicatorMultiple"
+    android:drawablePadding="20dp"
+    android:drawableStart="?attr/skinListChoiceIndicatorMultiple"
+    android:ellipsize="marquee"
+    android:gravity="center_vertical"
+    android:minHeight="?attr/listPreferredItemHeightSmall"
+    android:paddingEnd="?attr/dialogPreferredPadding"
+    android:paddingLeft="@dimen/skin_select_dialog_padding_start"
+    android:paddingRight="?attr/dialogPreferredPadding"
+    android:paddingStart="@dimen/skin_select_dialog_padding_start"
+    android:textAppearance="?android:attr/textAppearanceMedium"
+    android:textColor="?attr/skinAlertDialogListItemTextColor" />

+ 17 - 0
skin-support/src/main/res-alertdialog/layout/skin_select_dialog_singlechoice.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@android:id/text1"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:drawableLeft="?attr/skinListChoiceIndicatorSingle"
+    android:drawablePadding="20dp"
+    android:drawableStart="?attr/skinListChoiceIndicatorSingle"
+    android:ellipsize="marquee"
+    android:gravity="center_vertical"
+    android:minHeight="?attr/listPreferredItemHeightSmall"
+    android:paddingEnd="?attr/dialogPreferredPadding"
+    android:paddingLeft="@dimen/skin_select_dialog_padding_start"
+    android:paddingRight="?attr/dialogPreferredPadding"
+    android:paddingStart="@dimen/skin_select_dialog_padding_start"
+    android:textAppearance="?android:attr/textAppearanceMedium"
+    android:textColor="?attr/skinAlertDialogListItemTextColor" />

+ 14 - 0
skin-support/src/main/res-alertdialog/values/attrs.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <attr name="skinAlertDialogBackground" format="reference" />
+    <attr name="skinAlertDialogTitleTextColor" format="reference" />
+    <attr name="skinAlertDialogMessageTextColor" format="reference" />
+    <attr name="skinAlertDialogNeutralButtonTextColor" format="reference" />
+    <attr name="skinAlertDialogNegativeButtonTextColor" format="reference" />
+    <attr name="skinAlertDialogPositiveButtonTextColor" format="reference" />
+    <attr name="skinAlertDialogControlHighlightColor" format="reference" />
+    <attr name="skinAlertDialogListDivider" format="reference" />
+    <attr name="skinAlertDialogListItemTextColor" format="reference" />
+    <attr name="skinListChoiceIndicatorMultiple" format="reference" />
+    <attr name="skinListChoiceIndicatorSingle" format="reference" />
+</resources>

+ 8 - 0
skin-support/src/main/res-alertdialog/values/dimens.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <dimen name="skin_dialog_padding_top">18dp</dimen>
+    <dimen name="skin_dialog_title_divider">8dp</dimen>
+    <dimen name="skin_dialog_list_padding_bottom_no_buttons">8dp</dimen>
+    <dimen name="skin_dialog_list_padding_top_no_title">8dp</dimen>
+    <dimen name="skin_select_dialog_padding_start">20dp</dimen>
+</resources>

+ 11 - 0
skin-support/src/main/res-alertdialog/values/styles.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+    <style name="AlertDialog.SkinCompat" parent="Base.AlertDialog.AppCompat">
+        <item name="android:layout">@layout/skin_alert_dialog</item>
+        <item name="listLayout">@layout/skin_select_dialog</item>
+        <item name="listItemLayout">@layout/skin_select_dialog_item</item>
+        <item name="multiChoiceItemLayout">@layout/skin_select_dialog_multichoice</item>
+        <item name="singleChoiceItemLayout">@layout/skin_select_dialog_singlechoice</item>
+    </style>
+</resources>

+ 38 - 0
skin-support/src/main/res/values/attrs.xml

@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <declare-styleable name="SkinBackgroundHelper">
+        <attr name="android:background" />
+    </declare-styleable>
+
+    <declare-styleable name="SkinCompatImageView">
+        <attr name="android:src" />
+        <attr name="srcCompat" />
+    </declare-styleable>
+
+    <declare-styleable name="SkinCompatTextHelper">
+        <attr name="android:drawableLeft" />
+        <attr name="android:drawableTop" />
+        <attr name="android:drawableRight" />
+        <attr name="android:drawableBottom" />
+        <attr name="android:drawableStart" />
+        <attr name="android:drawableEnd" />
+        <attr name="android:textAppearance" />
+    </declare-styleable>
+
+    <declare-styleable name="SkinTextAppearance">
+        <attr name="android:textSize" />
+        <attr name="android:textColor" />
+        <attr name="android:textColorHint" />
+        <attr name="android:textStyle" />
+        <attr name="android:typeface" />
+        <attr name="textAllCaps" />
+        <attr name="android:shadowColor" />
+        <attr name="android:shadowDy" />
+        <attr name="android:shadowDx" />
+        <attr name="android:shadowRadius" />
+    </declare-styleable>
+    <declare-styleable name="SkinCompatProgressBar">
+        <attr name="android:indeterminateDrawable" />
+        <attr name="android:progressDrawable" />
+    </declare-styleable>
+</resources>

+ 3 - 0
skin-support/src/main/res/values/strings.xml

@@ -0,0 +1,3 @@
+<resources>
+    <string name="app_name">skin-support</string>
+</resources>

+ 1 - 0
skin_christmas/.gitignore

@@ -0,0 +1 @@
+/build

+ 38 - 0
skin_christmas/build.gradle

@@ -0,0 +1,38 @@
+apply plugin: 'com.android.application'
+
+android {
+    compileSdkVersion 28
+
+
+
+    defaultConfig {
+        applicationId "com.sheep.jiuyan.samllsheep.skin_christmas"
+        minSdkVersion 15
+        targetSdkVersion 28
+        versionCode 1
+        versionName "1.0"
+
+        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+
+    }
+
+    buildTypes {
+        release {
+            minifyEnabled false
+            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+        }
+    }
+
+}
+
+dependencies {
+}
+
+//在apk文件后边生成版本号信息
+android.applicationVariants.all {
+    variant ->
+        variant.outputs.all {
+            output ->
+                outputFileName = "christmas.skin"
+        }
+}

+ 21 - 0
skin_christmas/proguard-rules.pro

@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+#   http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+#   public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile

+ 4 - 0
skin_christmas/src/main/AndroidManifest.xml

@@ -0,0 +1,4 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.sheep.jiuyan.samllsheep.skin_christmas">
+
+</manifest>

BIN
skin_christmas/src/main/res/drawable-xxhdpi/homepage_faxian.png


BIN
skin_christmas/src/main/res/drawable-xxhdpi/homepage_faxian_click.png


BIN
skin_christmas/src/main/res/drawable-xxhdpi/homepage_wode.png


BIN
skin_christmas/src/main/res/drawable-xxhdpi/homepage_wode_click.png


BIN
skin_christmas/src/main/res/drawable-xxhdpi/homepage_zhuanqian.png


BIN
skin_christmas/src/main/res/drawable-xxhdpi/homepage_zhuanqian_click.png


BIN
skin_christmas/src/main/res/drawable-xxhdpi/tab_click_yaoqing.png


BIN
skin_christmas/src/main/res/drawable-xxhdpi/tab_game.png


BIN
skin_christmas/src/main/res/drawable-xxhdpi/tab_game_blue.png


BIN
skin_christmas/src/main/res/drawable-xxhdpi/tab_yaoqing.png


+ 5 - 0
skin_christmas/src/main/res/drawable/bg_h_dgtg1.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <size android:height="120dp" android:width="1dp"/>
+</shape>

+ 5 - 0
skin_christmas/src/main/res/drawable/bg_h_dgtg2.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <size android:height="5dp" android:width="1dp"/>
+</shape>

+ 10 - 0
skin_christmas/src/main/res/drawable/button_full_normal_gray.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners android:radius="30dp" />
+
+    <stroke
+        android:width="1dp"
+        android:color="@color/gray_6" />
+    <solid android:color="@color/gray_6" />
+</shape>

+ 8 - 0
skin_christmas/src/main/res/drawable/drawable_selector_askgetmoney.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:drawable="@drawable/tab_click_yaoqing" android:state_activated="true"/>
+    <item android:drawable="@drawable/tab_click_yaoqing" android:state_pressed="true"/>
+    <item android:drawable="@drawable/tab_yaoqing"/>
+
+</selector>

+ 8 - 0
skin_christmas/src/main/res/drawable/drawable_selector_find.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:drawable="@drawable/homepage_faxian_click" android:state_activated="true"/>
+    <item android:drawable="@drawable/homepage_faxian_click" android:state_pressed="true"/>
+    <item android:drawable="@drawable/homepage_faxian"/>
+
+</selector>

+ 8 - 0
skin_christmas/src/main/res/drawable/drawable_selector_game_center.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:drawable="@drawable/tab_game_blue" android:state_activated="true"/>
+    <item android:drawable="@drawable/tab_game_blue" android:state_pressed="true"/>
+    <item android:drawable="@drawable/tab_game"/>
+
+</selector>

+ 8 - 0
skin_christmas/src/main/res/drawable/drawable_selector_personalcenter.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:drawable="@drawable/homepage_wode_click" android:state_activated="true"/>
+    <item android:drawable="@drawable/homepage_wode_click" android:state_pressed="true"/>
+    <item android:drawable="@drawable/homepage_wode"/>
+
+</selector>

+ 8 - 0
skin_christmas/src/main/res/drawable/drawable_selector_task.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:drawable="@drawable/homepage_zhuanqian_click" android:state_activated="true"/>
+    <item android:drawable="@drawable/homepage_zhuanqian_click" android:state_pressed="true"/>
+    <item android:drawable="@drawable/homepage_zhuanqian"/>
+
+</selector>

+ 9 - 0
skin_christmas/src/main/res/drawable/selector_btn_blue.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+  <item android:state_enabled="false" android:drawable="@drawable/button_full_normal_gray" />
+  <item android:state_focused="true" android:drawable="@mipmap/lanse" />
+  <item android:state_checked="true" android:drawable="@mipmap/lanse"/>
+  <item android:state_selected="true" android:drawable="@mipmap/lanse"/>
+  <item android:state_pressed="true" android:drawable="@mipmap/lanse"/>
+  <item android:drawable="@mipmap/lanse"/>
+</selector>

+ 9 - 0
skin_christmas/src/main/res/drawable/selector_btn_purple.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+  <item android:state_enabled="false" android:drawable="@drawable/button_full_normal_gray" />
+  <item android:state_focused="true" android:drawable="@mipmap/huanyig" />
+  <item android:state_checked="true" android:drawable="@mipmap/huanyig"/>
+  <item android:state_selected="true" android:drawable="@mipmap/huanyig"/>
+  <item android:state_pressed="true" android:drawable="@mipmap/huanyig"/>
+  <item android:drawable="@mipmap/huanyig"/>
+</selector>

+ 12 - 0
skin_christmas/src/main/res/drawable/shape_red_stroke_rectangle_no_lb.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners
+        android:topLeftRadius="10dp"
+        android:topRightRadius="10dp"
+        android:bottomRightRadius="10dp"/>
+    <stroke
+        android:width="1px"
+        android:color="#FDDD36" />
+
+</shape>

BIN
skin_christmas/src/main/res/mipmap-xxhdpi/bg_qiangrew.png


BIN
skin_christmas/src/main/res/mipmap-xxhdpi/home_blue_bg.png


BIN
skin_christmas/src/main/res/mipmap-xxhdpi/huanyig.png


BIN
skin_christmas/src/main/res/mipmap-xxhdpi/lanse.png


BIN
skin_christmas/src/main/res/mipmap-xxhdpi/red_package_floatbtn.png


+ 8 - 0
skin_christmas/src/main/res/values/colors.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <color name="gray_6">#D9D9D9</color>
+
+    <color name="tc_dialog_gtg_name">#ffffff</color>
+    <color name="tc_dialog_gtg_amout">#ffffff</color>
+    <color name="red_FD2D54">#FDDD36</color>
+</resources>

+ 3 - 0
skin_christmas/src/main/res/values/dimens.xml

@@ -0,0 +1,3 @@
+<resources>
+    <dimen name="ts_dialog_gtg_name">12sp</dimen>
+</resources>