├── .gitignore ├── .idea ├── compiler.xml ├── copyright │ └── profiles_settings.xml ├── encodings.xml ├── gradle.xml ├── libraries │ ├── android_arch_core_common_1_0_0_jar.xml │ ├── android_arch_lifecycle_common_1_0_0_jar.xml │ ├── android_arch_lifecycle_runtime_1_0_0.xml │ ├── com_android_support_support_annotations_26_1_0_jar.xml │ ├── com_android_support_support_compat_26_1_0.xml │ ├── com_android_support_support_core_ui_26_1_0.xml │ ├── com_android_support_support_core_utils_26_1_0.xml │ ├── com_android_support_support_fragment_26_1_0.xml │ ├── com_android_support_support_media_compat_26_1_0.xml │ └── com_android_support_support_v4_26_1_0.xml ├── misc.xml ├── modules.xml ├── runConfigurations.xml └── vcs.xml ├── .navigation └── app │ └── raw │ └── main.nvg.xml ├── README.md ├── TimeTableView.iml ├── app ├── app.iml ├── build.gradle ├── build │ ├── generated │ │ └── source │ │ │ ├── buildConfig │ │ │ ├── androidTest │ │ │ │ └── debug │ │ │ │ │ └── com │ │ │ │ │ └── shallcheek │ │ │ │ │ └── timetale │ │ │ │ │ └── test │ │ │ │ │ └── BuildConfig.java │ │ │ └── debug │ │ │ │ └── com │ │ │ │ └── shallcheek │ │ │ │ └── timetale │ │ │ │ └── BuildConfig.java │ │ │ └── r │ │ │ └── debug │ │ │ └── com │ │ │ └── shallcheek │ │ │ └── timetale │ │ │ └── R.java │ ├── intermediates │ │ ├── classes │ │ │ └── debug │ │ │ │ └── com │ │ │ │ └── shallcheek │ │ │ │ └── timetale │ │ │ │ ├── BuildConfig.class │ │ │ │ ├── MainActivity.class │ │ │ │ ├── R$attr.class │ │ │ │ ├── R$color.class │ │ │ │ ├── R$dimen.class │ │ │ │ ├── R$drawable.class │ │ │ │ ├── R$id.class │ │ │ │ ├── R$layout.class │ │ │ │ ├── R$menu.class │ │ │ │ ├── R$string.class │ │ │ │ ├── R$style.class │ │ │ │ ├── R.class │ │ │ │ ├── TimeTableModel.class │ │ │ │ ├── TimeTableView$1.class │ │ │ │ ├── TimeTableView$2.class │ │ │ │ └── TimeTableView.class │ │ ├── dex │ │ │ └── debug │ │ │ │ └── classes.dex │ │ ├── exploded-aar │ │ │ └── com.android.support │ │ │ │ └── support-v4 │ │ │ │ └── 21.0.3 │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── aidl │ │ │ │ └── android │ │ │ │ │ └── support │ │ │ │ │ └── v4 │ │ │ │ │ └── app │ │ │ │ │ └── INotificationSideChannel.aidl │ │ │ │ └── jars │ │ │ │ ├── classes.jar │ │ │ │ └── libs │ │ │ │ └── internal_impl-21.0.3.jar │ │ ├── incremental │ │ │ ├── aidl │ │ │ │ ├── androidTest │ │ │ │ │ └── debug │ │ │ │ │ │ └── dependency.store │ │ │ │ └── debug │ │ │ │ │ └── dependency.store │ │ │ ├── mergeAssets │ │ │ │ ├── androidTest │ │ │ │ │ └── debug │ │ │ │ │ │ └── merger.xml │ │ │ │ └── debug │ │ │ │ │ └── merger.xml │ │ │ └── mergeResources │ │ │ │ ├── androidTest │ │ │ │ └── debug │ │ │ │ │ └── merger.xml │ │ │ │ └── debug │ │ │ │ └── merger.xml │ │ ├── manifests │ │ │ ├── androidTest │ │ │ │ └── debug │ │ │ │ │ └── AndroidManifest.xml │ │ │ └── full │ │ │ │ └── debug │ │ │ │ └── AndroidManifest.xml │ │ ├── pre-dexed │ │ │ └── debug │ │ │ │ ├── classes-76199b002d3a4265e335e3f13f460afbd8f4bf60.jar │ │ │ │ ├── internal_impl-21.0.3-e1144ff47cf1d70f5c0641ebfa71e81825f71b31.jar │ │ │ │ └── support-annotations-21.0.3-c5b8d988e04100d1b2d61876935e75ed4eb50bb9.jar │ │ ├── res │ │ │ └── debug │ │ │ │ ├── drawable-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── drawable-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── drawable-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── drawable-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── drawable │ │ │ │ ├── select_label_ba.xml │ │ │ │ ├── select_label_er.xml │ │ │ │ ├── select_label_jiu.xml │ │ │ │ ├── select_label_liu.xml │ │ │ │ ├── select_label_qi.xml │ │ │ │ ├── select_label_san.xml │ │ │ │ ├── select_label_se.xml │ │ │ │ ├── select_label_si.xml │ │ │ │ ├── select_label_sss.xml │ │ │ │ ├── select_label_sy.xml │ │ │ │ ├── select_label_wu.xml │ │ │ │ ├── select_label_wuw.xml │ │ │ │ ├── select_label_yi.xml │ │ │ │ ├── select_label_yiw.xml │ │ │ │ ├── select_label_yiwu.xml │ │ │ │ └── tab_indicator_text.xml │ │ │ │ ├── layout │ │ │ │ └── activity_main.xml │ │ │ │ ├── menu │ │ │ │ └── main.xml │ │ │ │ ├── values-v11 │ │ │ │ └── values-v11.xml │ │ │ │ ├── values-v14 │ │ │ │ └── values-v14.xml │ │ │ │ ├── values-w820dp │ │ │ │ └── values-w820dp.xml │ │ │ │ └── values │ │ │ │ └── values.xml │ │ ├── resources │ │ │ ├── resources-debug-androidTest.ap_ │ │ │ └── resources-debug.ap_ │ │ └── symbols │ │ │ └── debug │ │ │ └── R.txt │ └── outputs │ │ ├── apk │ │ ├── app-debug-unaligned.apk │ │ └── app-debug.apk │ │ └── logs │ │ └── manifest-merger-debug-report.txt ├── lint.xml └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── shallcheek │ │ └── timetale │ │ ├── MainActivity.java │ │ ├── ScreenshotUtil.java │ │ ├── TimeTableModel.java │ │ └── TimeTableView.java │ └── res │ ├── drawable-hdpi │ ├── ic_launcher.png │ ├── share_term_table_footer.png │ └── share_term_table_header.png │ ├── drawable-mdpi │ └── ic_launcher.png │ ├── drawable-xhdpi │ └── ic_launcher.png │ ├── drawable-xxhdpi │ └── ic_launcher.png │ ├── drawable │ ├── select_label_ba.xml │ ├── select_label_er.xml │ ├── select_label_jiu.xml │ ├── select_label_liu.xml │ ├── select_label_qi.xml │ ├── select_label_san.xml │ ├── select_label_se.xml │ ├── select_label_si.xml │ ├── select_label_sss.xml │ ├── select_label_sy.xml │ ├── select_label_wu.xml │ ├── select_label_wuw.xml │ ├── select_label_yi.xml │ ├── select_label_yiw.xml │ ├── select_label_yiwu.xml │ └── tab_indicator_text.xml │ ├── layout │ └── activity_main.xml │ ├── menu │ └── main.xml │ ├── values-v11 │ └── styles.xml │ ├── values-v14 │ └── styles.xml │ ├── values-w820dp │ └── dimens.xml │ └── values │ ├── color.xml │ ├── dimens.xml │ ├── strings.xml │ └── styles.xml ├── build.gradle ├── build └── intermediates │ ├── dex-cache │ └── cache.xml │ └── gradle_project_sync_data.bin ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── import-summary.txt ├── local.properties └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .ignore support plugin (hsz.mobi) 2 | .gitignore 3 | .idea/dbnavigator.xml 4 | .idea/inspectionProfiles/ 5 | .idea/workspace.xml 6 | /.navigation/ 7 | /.idea/ 8 | /build/ 9 | /app/build/ 10 | /captures/ 11 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 22 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 20 | -------------------------------------------------------------------------------- /.idea/libraries/android_arch_core_common_1_0_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/android_arch_lifecycle_common_1_0_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/android_arch_lifecycle_runtime_1_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/libraries/com_android_support_support_annotations_26_1_0_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/com_android_support_support_compat_26_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/libraries/com_android_support_support_core_ui_26_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/libraries/com_android_support_support_core_utils_26_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/libraries/com_android_support_support_fragment_26_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/libraries/com_android_support_support_media_compat_26_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/libraries/com_android_support_support_v4_26_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 16 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.navigation/app/raw/main.nvg.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/.navigation/app/raw/main.nvg.xml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | #**自定义课表LineLayout 绘制课表** 2 | 3 | #界面展示 4 | 5 | 6 | 7 | [介绍](http://blog.csdn.net/shallcheek/article/details/44303197) 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /TimeTableView.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /app/app.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 26 5 | buildToolsVersion "26.0.3" 6 | 7 | defaultConfig { 8 | applicationId "com.shallcheek.timetale" 9 | minSdkVersion 14 10 | targetSdkVersion 27 11 | } 12 | 13 | buildTypes { 14 | release { 15 | minifyEnabled false 16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 17 | } 18 | } 19 | } 20 | 21 | dependencies { 22 | compile 'com.android.support:support-v4:26.1.0' 23 | } 24 | -------------------------------------------------------------------------------- /app/build/generated/source/buildConfig/androidTest/debug/com/shallcheek/timetale/test/BuildConfig.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file. DO NOT MODIFY 3 | */ 4 | package com.shallcheek.timetale.test; 5 | 6 | public final class BuildConfig { 7 | public static final boolean DEBUG = Boolean.parseBoolean("true"); 8 | public static final String APPLICATION_ID = "com.shallcheek.timetale.test"; 9 | public static final String BUILD_TYPE = "debug"; 10 | public static final String FLAVOR = ""; 11 | public static final int VERSION_CODE = -1; 12 | public static final String VERSION_NAME = ""; 13 | } 14 | -------------------------------------------------------------------------------- /app/build/generated/source/buildConfig/debug/com/shallcheek/timetale/BuildConfig.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file. DO NOT MODIFY 3 | */ 4 | package com.shallcheek.timetale; 5 | 6 | public final class BuildConfig { 7 | public static final boolean DEBUG = Boolean.parseBoolean("true"); 8 | public static final String APPLICATION_ID = "com.shallcheek.timetale"; 9 | public static final String BUILD_TYPE = "debug"; 10 | public static final String FLAVOR = ""; 11 | public static final int VERSION_CODE = 1; 12 | public static final String VERSION_NAME = "1.0"; 13 | } 14 | -------------------------------------------------------------------------------- /app/build/generated/source/r/debug/com/shallcheek/timetale/R.java: -------------------------------------------------------------------------------- 1 | /* AUTO-GENERATED FILE. DO NOT MODIFY. 2 | * 3 | * This class was automatically generated by the 4 | * aapt tool from the resource data it found. It 5 | * should not be modified by hand. 6 | */ 7 | 8 | package com.shallcheek.timetale; 9 | 10 | public final class R { 11 | public static final class attr { 12 | /** 13 | *

May be a reference to another resource, in the form 14 | * "@[+][package:]type/name" or a theme 15 | * attribute in the form 16 | * "?[package:]type/name". 17 | */ 18 | public static final int font=0x7f010000; 19 | /** 20 | *

May be a string value, using '\\;' to escape characters such as 21 | * '\\n' or '\\uxxxx' for a unicode character; 22 | */ 23 | public static final int fontProviderAuthority=0x7f010001; 24 | /** 25 | *

May be a reference to another resource, in the form 26 | * "@[+][package:]type/name" or a theme 27 | * attribute in the form 28 | * "?[package:]type/name". 29 | */ 30 | public static final int fontProviderCerts=0x7f010002; 31 | /** 32 | *

Must be one of the following constant values.

33 | * 34 | * 35 | * 36 | * 37 | * 38 | * 39 | * 40 | *
ConstantValueDescription
async1
blocking0
41 | */ 42 | public static final int fontProviderFetchStrategy=0x7f010003; 43 | /** 44 | *

May be an integer value, such as "100". 45 | *

Must be one of the following constant values.

46 | * 47 | * 48 | * 49 | * 50 | * 51 | * 52 | *
ConstantValueDescription
foreverffffffff
53 | */ 54 | public static final int fontProviderFetchTimeout=0x7f010004; 55 | /** 56 | *

May be a string value, using '\\;' to escape characters such as 57 | * '\\n' or '\\uxxxx' for a unicode character; 58 | */ 59 | public static final int fontProviderPackage=0x7f010005; 60 | /** 61 | *

May be a string value, using '\\;' to escape characters such as 62 | * '\\n' or '\\uxxxx' for a unicode character; 63 | */ 64 | public static final int fontProviderQuery=0x7f010006; 65 | /** 66 | *

Must be one of the following constant values.

67 | * 68 | * 69 | * 70 | * 71 | * 72 | * 73 | * 74 | *
ConstantValueDescription
italic1
normal0
75 | */ 76 | public static final int fontStyle=0x7f010007; 77 | /** 78 | *

May be an integer value, such as "100". 79 | */ 80 | public static final int fontWeight=0x7f010008; 81 | } 82 | public static final class bool { 83 | public static final int abc_action_bar_embed_tabs=0x7f020000; 84 | } 85 | public static final class color { 86 | public static final int ic_coure_ba=0x7f030000; 87 | public static final int ic_coure_ba_pr=0x7f030001; 88 | public static final int ic_coure_er=0x7f030002; 89 | public static final int ic_coure_er_pr=0x7f030003; 90 | public static final int ic_coure_jiu=0x7f030004; 91 | public static final int ic_coure_jiu_pr=0x7f030005; 92 | public static final int ic_coure_liu=0x7f030006; 93 | public static final int ic_coure_liu_pr=0x7f030007; 94 | public static final int ic_coure_qi=0x7f030008; 95 | public static final int ic_coure_qi_pr=0x7f030009; 96 | public static final int ic_coure_san=0x7f03000a; 97 | public static final int ic_coure_san_pr=0x7f03000b; 98 | public static final int ic_coure_si=0x7f03000c; 99 | public static final int ic_coure_si_pr=0x7f03000d; 100 | public static final int ic_coure_wu=0x7f03000e; 101 | public static final int ic_coure_wu_pr=0x7f03000f; 102 | public static final int ic_coure_wuw=0x7f030010; 103 | public static final int ic_coure_wuw_pr=0x7f030011; 104 | public static final int ic_coure_yi=0x7f030012; 105 | public static final int ic_coure_yi_pr=0x7f030013; 106 | public static final int ic_coure_yier=0x7f030014; 107 | public static final int ic_coure_yier_pr=0x7f030015; 108 | public static final int ic_coure_yiliu=0x7f030016; 109 | public static final int ic_coure_yiliu_pr=0x7f030017; 110 | public static final int ic_coure_yis=0x7f030018; 111 | public static final int ic_coure_yis_pr=0x7f030019; 112 | public static final int ic_coure_yisan=0x7f03001a; 113 | public static final int ic_coure_yisan_pr=0x7f03001b; 114 | public static final int ic_coure_yisi=0x7f03001c; 115 | public static final int ic_coure_yisi_pr=0x7f03001d; 116 | public static final int ic_coure_yiwu=0x7f03001e; 117 | public static final int ic_coure_yiwu_pr=0x7f03001f; 118 | public static final int notification_action_color_filter=0x7f030020; 119 | public static final int notification_icon_bg_color=0x7f030021; 120 | public static final int notification_material_background_media_default_color=0x7f030022; 121 | public static final int primary_text_default_material_dark=0x7f030023; 122 | public static final int ripple_material_light=0x7f030024; 123 | public static final int secondary_text_default_material_dark=0x7f030025; 124 | public static final int secondary_text_default_material_light=0x7f030026; 125 | public static final int tab_indicator_text_selected=0x7f030027; 126 | public static final int tab_indicator_text_unselected=0x7f030028; 127 | public static final int text_color=0x7f030029; 128 | public static final int view_line=0x7f03002a; 129 | } 130 | public static final class dimen { 131 | public static final int activity_horizontal_margin=0x7f040000; 132 | public static final int activity_vertical_margin=0x7f040001; 133 | public static final int compat_button_inset_horizontal_material=0x7f040002; 134 | public static final int compat_button_inset_vertical_material=0x7f040003; 135 | public static final int compat_button_padding_horizontal_material=0x7f040004; 136 | public static final int compat_button_padding_vertical_material=0x7f040005; 137 | public static final int compat_control_corner_material=0x7f040006; 138 | public static final int notification_action_icon_size=0x7f040007; 139 | public static final int notification_action_text_size=0x7f040008; 140 | public static final int notification_big_circle_margin=0x7f040009; 141 | public static final int notification_content_margin_start=0x7f04000a; 142 | public static final int notification_large_icon_height=0x7f04000b; 143 | public static final int notification_large_icon_width=0x7f04000c; 144 | public static final int notification_main_column_padding_top=0x7f04000d; 145 | public static final int notification_media_narrow_margin=0x7f04000e; 146 | public static final int notification_right_icon_size=0x7f04000f; 147 | public static final int notification_right_side_padding_top=0x7f040010; 148 | public static final int notification_small_icon_background_padding=0x7f040011; 149 | public static final int notification_small_icon_size_as_large=0x7f040012; 150 | public static final int notification_subtext_size=0x7f040013; 151 | public static final int notification_top_pad=0x7f040014; 152 | public static final int notification_top_pad_large_text=0x7f040015; 153 | } 154 | public static final class drawable { 155 | public static final int ic_launcher=0x7f050000; 156 | public static final int notification_action_background=0x7f050001; 157 | public static final int notification_bg=0x7f050002; 158 | public static final int notification_bg_low=0x7f050003; 159 | public static final int notification_bg_low_normal=0x7f050004; 160 | public static final int notification_bg_low_pressed=0x7f050005; 161 | public static final int notification_bg_normal=0x7f050006; 162 | public static final int notification_bg_normal_pressed=0x7f050007; 163 | public static final int notification_icon_background=0x7f050008; 164 | public static final int notification_template_icon_bg=0x7f050009; 165 | public static final int notification_template_icon_low_bg=0x7f05000a; 166 | public static final int notification_tile_bg=0x7f05000b; 167 | public static final int notify_panel_notification_icon_bg=0x7f05000c; 168 | public static final int select_label_ba=0x7f05000d; 169 | public static final int select_label_er=0x7f05000e; 170 | public static final int select_label_jiu=0x7f05000f; 171 | public static final int select_label_liu=0x7f050010; 172 | public static final int select_label_qi=0x7f050011; 173 | public static final int select_label_san=0x7f050012; 174 | public static final int select_label_se=0x7f050013; 175 | public static final int select_label_si=0x7f050014; 176 | public static final int select_label_sss=0x7f050015; 177 | public static final int select_label_sy=0x7f050016; 178 | public static final int select_label_wu=0x7f050017; 179 | public static final int select_label_wuw=0x7f050018; 180 | public static final int select_label_yi=0x7f050019; 181 | public static final int select_label_yiw=0x7f05001a; 182 | public static final int select_label_yiwu=0x7f05001b; 183 | public static final int share_term_table_footer=0x7f05001c; 184 | public static final int share_term_table_header=0x7f05001d; 185 | public static final int tab_indicator_text=0x7f05001e; 186 | } 187 | public static final class id { 188 | public static final int action0=0x7f060000; 189 | public static final int action_container=0x7f060001; 190 | public static final int action_divider=0x7f060002; 191 | public static final int action_image=0x7f060003; 192 | public static final int action_text=0x7f060004; 193 | public static final int actions=0x7f060005; 194 | public static final int async=0x7f060006; 195 | public static final int blocking=0x7f060007; 196 | public static final int cancel_action=0x7f060008; 197 | public static final int chronometer=0x7f060009; 198 | public static final int end_padder=0x7f06000a; 199 | public static final int forever=0x7f06000b; 200 | public static final int icon=0x7f06000c; 201 | public static final int icon_group=0x7f06000d; 202 | public static final int info=0x7f06000e; 203 | public static final int italic=0x7f06000f; 204 | public static final int line1=0x7f060010; 205 | public static final int line3=0x7f060011; 206 | public static final int main_screenshot=0x7f060012; 207 | public static final int main_scrollview=0x7f060013; 208 | public static final int main_timetable_ly=0x7f060014; 209 | public static final int media_actions=0x7f060015; 210 | public static final int normal=0x7f060016; 211 | public static final int notification_background=0x7f060017; 212 | public static final int notification_main_column=0x7f060018; 213 | public static final int notification_main_column_container=0x7f060019; 214 | public static final int right_icon=0x7f06001a; 215 | public static final int right_side=0x7f06001b; 216 | public static final int status_bar_latest_event_content=0x7f06001c; 217 | public static final int text=0x7f06001d; 218 | public static final int text2=0x7f06001e; 219 | public static final int time=0x7f06001f; 220 | public static final int title=0x7f060020; 221 | } 222 | public static final class integer { 223 | public static final int cancel_button_image_alpha=0x7f070000; 224 | public static final int status_bar_notification_info_maxnum=0x7f070001; 225 | } 226 | public static final class layout { 227 | public static final int activity_main=0x7f080000; 228 | public static final int notification_action=0x7f080001; 229 | public static final int notification_action_tombstone=0x7f080002; 230 | public static final int notification_media_action=0x7f080003; 231 | public static final int notification_media_cancel_action=0x7f080004; 232 | public static final int notification_template_big_media=0x7f080005; 233 | public static final int notification_template_big_media_custom=0x7f080006; 234 | public static final int notification_template_big_media_narrow=0x7f080007; 235 | public static final int notification_template_big_media_narrow_custom=0x7f080008; 236 | public static final int notification_template_custom_big=0x7f080009; 237 | public static final int notification_template_icon_group=0x7f08000a; 238 | public static final int notification_template_lines_media=0x7f08000b; 239 | public static final int notification_template_media=0x7f08000c; 240 | public static final int notification_template_media_custom=0x7f08000d; 241 | public static final int notification_template_part_chronometer=0x7f08000e; 242 | public static final int notification_template_part_time=0x7f08000f; 243 | } 244 | public static final class menu { 245 | public static final int main=0x7f090000; 246 | } 247 | public static final class string { 248 | public static final int action_settings=0x7f0a0000; 249 | public static final int app_name=0x7f0a0001; 250 | public static final int hello_world=0x7f0a0002; 251 | public static final int status_bar_notification_info_overflow=0x7f0a0003; 252 | } 253 | public static final class style { 254 | public static final int AppBaseTheme=0x7f0b0000; 255 | public static final int AppTheme=0x7f0b0001; 256 | public static final int MyWidget=0x7f0b0002; 257 | public static final int MyWidget_TabText=0x7f0b0003; 258 | public static final int TextAppearance_Compat_Notification=0x7f0b0004; 259 | public static final int TextAppearance_Compat_Notification_Info=0x7f0b0005; 260 | public static final int TextAppearance_Compat_Notification_Info_Media=0x7f0b0006; 261 | public static final int TextAppearance_Compat_Notification_Line2=0x7f0b0007; 262 | public static final int TextAppearance_Compat_Notification_Line2_Media=0x7f0b0008; 263 | public static final int TextAppearance_Compat_Notification_Media=0x7f0b0009; 264 | public static final int TextAppearance_Compat_Notification_Time=0x7f0b000a; 265 | public static final int TextAppearance_Compat_Notification_Time_Media=0x7f0b000b; 266 | public static final int TextAppearance_Compat_Notification_Title=0x7f0b000c; 267 | public static final int TextAppearance_Compat_Notification_Title_Media=0x7f0b000d; 268 | public static final int Widget_Compat_NotificationActionContainer=0x7f0b000e; 269 | public static final int Widget_Compat_NotificationActionText=0x7f0b000f; 270 | } 271 | public static final class styleable { 272 | /** 273 | * Attributes that can be used with a FontFamily. 274 | *

Includes the following attributes:

275 | * 276 | * 277 | * 278 | * 279 | * 280 | * 281 | * 282 | * 283 | * 284 | * 285 | *
AttributeDescription
{@link #FontFamily_fontProviderAuthority com.shallcheek.timetale:fontProviderAuthority}
{@link #FontFamily_fontProviderCerts com.shallcheek.timetale:fontProviderCerts}
{@link #FontFamily_fontProviderFetchStrategy com.shallcheek.timetale:fontProviderFetchStrategy}
{@link #FontFamily_fontProviderFetchTimeout com.shallcheek.timetale:fontProviderFetchTimeout}
{@link #FontFamily_fontProviderPackage com.shallcheek.timetale:fontProviderPackage}
{@link #FontFamily_fontProviderQuery com.shallcheek.timetale:fontProviderQuery}
286 | * @see #FontFamily_fontProviderAuthority 287 | * @see #FontFamily_fontProviderCerts 288 | * @see #FontFamily_fontProviderFetchStrategy 289 | * @see #FontFamily_fontProviderFetchTimeout 290 | * @see #FontFamily_fontProviderPackage 291 | * @see #FontFamily_fontProviderQuery 292 | */ 293 | public static final int[] FontFamily={ 294 | 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004, 295 | 0x7f010005, 0x7f010006 296 | }; 297 | /** 298 | *

This symbol is the offset where the {@link com.shallcheek.timetale.R.attr#fontProviderAuthority} 299 | * attribute's value can be found in the {@link #FontFamily} array. 300 | * 301 | *

May be a string value, using '\\;' to escape characters such as 302 | * '\\n' or '\\uxxxx' for a unicode character; 303 | * 304 | * @attr name com.shallcheek.timetale:fontProviderAuthority 305 | */ 306 | public static final int FontFamily_fontProviderAuthority=0; 307 | /** 308 | *

This symbol is the offset where the {@link com.shallcheek.timetale.R.attr#fontProviderCerts} 309 | * attribute's value can be found in the {@link #FontFamily} array. 310 | * 311 | *

May be a reference to another resource, in the form 312 | * "@[+][package:]type/name" or a theme 313 | * attribute in the form 314 | * "?[package:]type/name". 315 | * 316 | * @attr name com.shallcheek.timetale:fontProviderCerts 317 | */ 318 | public static final int FontFamily_fontProviderCerts=1; 319 | /** 320 | *

This symbol is the offset where the {@link com.shallcheek.timetale.R.attr#fontProviderFetchStrategy} 321 | * attribute's value can be found in the {@link #FontFamily} array. 322 | * 323 | *

Must be one of the following constant values.

324 | * 325 | * 326 | * 327 | * 328 | * 329 | * 330 | * 331 | *
ConstantValueDescription
async1
blocking0
332 | * 333 | * @attr name com.shallcheek.timetale:fontProviderFetchStrategy 334 | */ 335 | public static final int FontFamily_fontProviderFetchStrategy=2; 336 | /** 337 | *

This symbol is the offset where the {@link com.shallcheek.timetale.R.attr#fontProviderFetchTimeout} 338 | * attribute's value can be found in the {@link #FontFamily} array. 339 | * 340 | *

May be an integer value, such as "100". 341 | *

Must be one of the following constant values.

342 | * 343 | * 344 | * 345 | * 346 | * 347 | * 348 | *
ConstantValueDescription
foreverffffffff
349 | * 350 | * @attr name com.shallcheek.timetale:fontProviderFetchTimeout 351 | */ 352 | public static final int FontFamily_fontProviderFetchTimeout=3; 353 | /** 354 | *

This symbol is the offset where the {@link com.shallcheek.timetale.R.attr#fontProviderPackage} 355 | * attribute's value can be found in the {@link #FontFamily} array. 356 | * 357 | *

May be a string value, using '\\;' to escape characters such as 358 | * '\\n' or '\\uxxxx' for a unicode character; 359 | * 360 | * @attr name com.shallcheek.timetale:fontProviderPackage 361 | */ 362 | public static final int FontFamily_fontProviderPackage=4; 363 | /** 364 | *

This symbol is the offset where the {@link com.shallcheek.timetale.R.attr#fontProviderQuery} 365 | * attribute's value can be found in the {@link #FontFamily} array. 366 | * 367 | *

May be a string value, using '\\;' to escape characters such as 368 | * '\\n' or '\\uxxxx' for a unicode character; 369 | * 370 | * @attr name com.shallcheek.timetale:fontProviderQuery 371 | */ 372 | public static final int FontFamily_fontProviderQuery=5; 373 | /** 374 | * Attributes that can be used with a FontFamilyFont. 375 | *

Includes the following attributes:

376 | * 377 | * 378 | * 379 | * 380 | * 381 | * 382 | * 383 | *
AttributeDescription
{@link #FontFamilyFont_font com.shallcheek.timetale:font}
{@link #FontFamilyFont_fontStyle com.shallcheek.timetale:fontStyle}
{@link #FontFamilyFont_fontWeight com.shallcheek.timetale:fontWeight}
384 | * @see #FontFamilyFont_font 385 | * @see #FontFamilyFont_fontStyle 386 | * @see #FontFamilyFont_fontWeight 387 | */ 388 | public static final int[] FontFamilyFont={ 389 | 0x7f010000, 0x7f010007, 0x7f010008 390 | }; 391 | /** 392 | *

This symbol is the offset where the {@link com.shallcheek.timetale.R.attr#font} 393 | * attribute's value can be found in the {@link #FontFamilyFont} array. 394 | * 395 | *

May be a reference to another resource, in the form 396 | * "@[+][package:]type/name" or a theme 397 | * attribute in the form 398 | * "?[package:]type/name". 399 | * 400 | * @attr name com.shallcheek.timetale:font 401 | */ 402 | public static final int FontFamilyFont_font=0; 403 | /** 404 | *

This symbol is the offset where the {@link com.shallcheek.timetale.R.attr#fontStyle} 405 | * attribute's value can be found in the {@link #FontFamilyFont} array. 406 | * 407 | *

Must be one of the following constant values.

408 | * 409 | * 410 | * 411 | * 412 | * 413 | * 414 | * 415 | *
ConstantValueDescription
italic1
normal0
416 | * 417 | * @attr name com.shallcheek.timetale:fontStyle 418 | */ 419 | public static final int FontFamilyFont_fontStyle=1; 420 | /** 421 | *

This symbol is the offset where the {@link com.shallcheek.timetale.R.attr#fontWeight} 422 | * attribute's value can be found in the {@link #FontFamilyFont} array. 423 | * 424 | *

May be an integer value, such as "100". 425 | * 426 | * @attr name com.shallcheek.timetale:fontWeight 427 | */ 428 | public static final int FontFamilyFont_fontWeight=2; 429 | } 430 | } -------------------------------------------------------------------------------- /app/build/intermediates/classes/debug/com/shallcheek/timetale/BuildConfig.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/classes/debug/com/shallcheek/timetale/BuildConfig.class -------------------------------------------------------------------------------- /app/build/intermediates/classes/debug/com/shallcheek/timetale/MainActivity.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/classes/debug/com/shallcheek/timetale/MainActivity.class -------------------------------------------------------------------------------- /app/build/intermediates/classes/debug/com/shallcheek/timetale/R$attr.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/classes/debug/com/shallcheek/timetale/R$attr.class -------------------------------------------------------------------------------- /app/build/intermediates/classes/debug/com/shallcheek/timetale/R$color.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/classes/debug/com/shallcheek/timetale/R$color.class -------------------------------------------------------------------------------- /app/build/intermediates/classes/debug/com/shallcheek/timetale/R$dimen.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/classes/debug/com/shallcheek/timetale/R$dimen.class -------------------------------------------------------------------------------- /app/build/intermediates/classes/debug/com/shallcheek/timetale/R$drawable.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/classes/debug/com/shallcheek/timetale/R$drawable.class -------------------------------------------------------------------------------- /app/build/intermediates/classes/debug/com/shallcheek/timetale/R$id.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/classes/debug/com/shallcheek/timetale/R$id.class -------------------------------------------------------------------------------- /app/build/intermediates/classes/debug/com/shallcheek/timetale/R$layout.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/classes/debug/com/shallcheek/timetale/R$layout.class -------------------------------------------------------------------------------- /app/build/intermediates/classes/debug/com/shallcheek/timetale/R$menu.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/classes/debug/com/shallcheek/timetale/R$menu.class -------------------------------------------------------------------------------- /app/build/intermediates/classes/debug/com/shallcheek/timetale/R$string.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/classes/debug/com/shallcheek/timetale/R$string.class -------------------------------------------------------------------------------- /app/build/intermediates/classes/debug/com/shallcheek/timetale/R$style.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/classes/debug/com/shallcheek/timetale/R$style.class -------------------------------------------------------------------------------- /app/build/intermediates/classes/debug/com/shallcheek/timetale/R.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/classes/debug/com/shallcheek/timetale/R.class -------------------------------------------------------------------------------- /app/build/intermediates/classes/debug/com/shallcheek/timetale/TimeTableModel.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/classes/debug/com/shallcheek/timetale/TimeTableModel.class -------------------------------------------------------------------------------- /app/build/intermediates/classes/debug/com/shallcheek/timetale/TimeTableView$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/classes/debug/com/shallcheek/timetale/TimeTableView$1.class -------------------------------------------------------------------------------- /app/build/intermediates/classes/debug/com/shallcheek/timetale/TimeTableView$2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/classes/debug/com/shallcheek/timetale/TimeTableView$2.class -------------------------------------------------------------------------------- /app/build/intermediates/classes/debug/com/shallcheek/timetale/TimeTableView.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/classes/debug/com/shallcheek/timetale/TimeTableView.class -------------------------------------------------------------------------------- /app/build/intermediates/dex/debug/classes.dex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/dex/debug/classes.dex -------------------------------------------------------------------------------- /app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/aidl/android/support/v4/app/INotificationSideChannel.aidl: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package android.support.v4.app; 18 | 19 | import android.app.Notification; 20 | 21 | /** 22 | * Interface used for delivering notifications via a side channel that bypasses 23 | * the NotificationManagerService. 24 | * 25 | * @hide 26 | */ 27 | oneway interface INotificationSideChannel { 28 | /** 29 | * Send an ambient notification to the service. 30 | */ 31 | void notify(String packageName, int id, String tag, in Notification notification); 32 | 33 | /** 34 | * Cancel an already-notified notification. 35 | */ 36 | void cancel(String packageName, int id, String tag); 37 | 38 | /** 39 | * Cancel all notifications for the given package. 40 | */ 41 | void cancelAll(String packageName); 42 | } 43 | -------------------------------------------------------------------------------- /app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/jars/classes.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/jars/classes.jar -------------------------------------------------------------------------------- /app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/jars/libs/internal_impl-21.0.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/jars/libs/internal_impl-21.0.3.jar -------------------------------------------------------------------------------- /app/build/intermediates/incremental/aidl/androidTest/debug/dependency.store: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /app/build/intermediates/incremental/aidl/debug/dependency.store: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /app/build/intermediates/incremental/mergeAssets/androidTest/debug/merger.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/build/intermediates/incremental/mergeAssets/debug/merger.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/build/intermediates/incremental/mergeResources/androidTest/debug/merger.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/build/intermediates/incremental/mergeResources/debug/merger.xml: -------------------------------------------------------------------------------- 1 | 2 | #5ABF6C#63C0BD#9CCF5A#F5B94E#ED837F#E593AD#ADADAD#E2C38A#333#88CFCC#2DACA1#000000#F9A883#8BC73D#87A6C6#6DB69C#F79060#E2C490#E593AD#F7C56B#997FC3#D2A596#31A6D3#DF7999#67BDDE#7B7B7B#9AB4CF#87A6C6#F19C99#8AD297#D6A858#B29FD2#9AB4CF#DDB97B#ffe6e6e6#CA948316dp16dpHello world!SettingsTimeTable64dp -------------------------------------------------------------------------------- /app/build/intermediates/manifests/androidTest/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | -------------------------------------------------------------------------------- /app/build/intermediates/manifests/full/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 21 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 34 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /app/build/intermediates/pre-dexed/debug/classes-76199b002d3a4265e335e3f13f460afbd8f4bf60.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/pre-dexed/debug/classes-76199b002d3a4265e335e3f13f460afbd8f4bf60.jar -------------------------------------------------------------------------------- /app/build/intermediates/pre-dexed/debug/internal_impl-21.0.3-e1144ff47cf1d70f5c0641ebfa71e81825f71b31.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/pre-dexed/debug/internal_impl-21.0.3-e1144ff47cf1d70f5c0641ebfa71e81825f71b31.jar -------------------------------------------------------------------------------- /app/build/intermediates/pre-dexed/debug/support-annotations-21.0.3-c5b8d988e04100d1b2d61876935e75ed4eb50bb9.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/pre-dexed/debug/support-annotations-21.0.3-c5b8d988e04100d1b2d61876935e75ed4eb50bb9.jar -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/res/debug/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/res/debug/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/res/debug/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/res/debug/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/drawable/select_label_ba.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/drawable/select_label_er.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/drawable/select_label_jiu.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/drawable/select_label_liu.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/drawable/select_label_qi.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/drawable/select_label_san.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/drawable/select_label_se.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/drawable/select_label_si.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/drawable/select_label_sss.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/drawable/select_label_sy.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/drawable/select_label_wu.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/drawable/select_label_wuw.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/drawable/select_label_yi.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/drawable/select_label_yiw.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/drawable/select_label_yiwu.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/drawable/tab_indicator_text.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 12 | 13 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/menu/main.xml: -------------------------------------------------------------------------------- 1 |

5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/values-v11/values-v11.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/values-v14/values-v14.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/values-w820dp/values-w820dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 64dp 6 | -------------------------------------------------------------------------------- /app/build/intermediates/res/debug/values/values.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | #9CCF5A 6 | #8BC73D 7 | #F9A883 8 | #F79060 9 | #9AB4CF 10 | #87A6C6 11 | #D2A596 12 | #CA9483 13 | #67BDDE 14 | #31A6D3 15 | #88CFCC 16 | #63C0BD 17 | #F19C99 18 | #ED837F 19 | #F7C56B 20 | #F5B94E 21 | #7B7B7B 22 | #ADADAD 23 | #8AD297 24 | #5ABF6C 25 | #E593AD 26 | #6DB69C 27 | #E2C490 28 | #DDB97B 29 | #E2C38A 30 | #D6A858 31 | #E593AD 32 | #DF7999 33 | #9AB4CF 34 | #87A6C6 35 | #B29FD2 36 | #997FC3 37 | #2DACA1 38 | #000000 39 | #333 40 | #ffe6e6e6 41 | 42 | 43 | 16dp 44 | 16dp 45 | 46 | 47 | Settings 48 | TimeTable 49 | Hello world! 50 | 51 | 52 | 60 | 63 | 70 | -------------------------------------------------------------------------------- /app/build/intermediates/resources/resources-debug-androidTest.ap_: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/resources/resources-debug-androidTest.ap_ -------------------------------------------------------------------------------- /app/build/intermediates/resources/resources-debug.ap_: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/intermediates/resources/resources-debug.ap_ -------------------------------------------------------------------------------- /app/build/intermediates/symbols/debug/R.txt: -------------------------------------------------------------------------------- 1 | int attr font 0x7f010000 2 | int attr fontProviderAuthority 0x7f010001 3 | int attr fontProviderCerts 0x7f010002 4 | int attr fontProviderFetchStrategy 0x7f010003 5 | int attr fontProviderFetchTimeout 0x7f010004 6 | int attr fontProviderPackage 0x7f010005 7 | int attr fontProviderQuery 0x7f010006 8 | int attr fontStyle 0x7f010007 9 | int attr fontWeight 0x7f010008 10 | int bool abc_action_bar_embed_tabs 0x7f020000 11 | int color ic_coure_ba 0x7f030000 12 | int color ic_coure_ba_pr 0x7f030001 13 | int color ic_coure_er 0x7f030002 14 | int color ic_coure_er_pr 0x7f030003 15 | int color ic_coure_jiu 0x7f030004 16 | int color ic_coure_jiu_pr 0x7f030005 17 | int color ic_coure_liu 0x7f030006 18 | int color ic_coure_liu_pr 0x7f030007 19 | int color ic_coure_qi 0x7f030008 20 | int color ic_coure_qi_pr 0x7f030009 21 | int color ic_coure_san 0x7f03000a 22 | int color ic_coure_san_pr 0x7f03000b 23 | int color ic_coure_si 0x7f03000c 24 | int color ic_coure_si_pr 0x7f03000d 25 | int color ic_coure_wu 0x7f03000e 26 | int color ic_coure_wu_pr 0x7f03000f 27 | int color ic_coure_wuw 0x7f030010 28 | int color ic_coure_wuw_pr 0x7f030011 29 | int color ic_coure_yi 0x7f030012 30 | int color ic_coure_yi_pr 0x7f030013 31 | int color ic_coure_yier 0x7f030014 32 | int color ic_coure_yier_pr 0x7f030015 33 | int color ic_coure_yiliu 0x7f030016 34 | int color ic_coure_yiliu_pr 0x7f030017 35 | int color ic_coure_yis 0x7f030018 36 | int color ic_coure_yis_pr 0x7f030019 37 | int color ic_coure_yisan 0x7f03001a 38 | int color ic_coure_yisan_pr 0x7f03001b 39 | int color ic_coure_yisi 0x7f03001c 40 | int color ic_coure_yisi_pr 0x7f03001d 41 | int color ic_coure_yiwu 0x7f03001e 42 | int color ic_coure_yiwu_pr 0x7f03001f 43 | int color notification_action_color_filter 0x7f030020 44 | int color notification_icon_bg_color 0x7f030021 45 | int color notification_material_background_media_default_color 0x7f030022 46 | int color primary_text_default_material_dark 0x7f030023 47 | int color ripple_material_light 0x7f030024 48 | int color secondary_text_default_material_dark 0x7f030025 49 | int color secondary_text_default_material_light 0x7f030026 50 | int color tab_indicator_text_selected 0x7f030027 51 | int color tab_indicator_text_unselected 0x7f030028 52 | int color text_color 0x7f030029 53 | int color view_line 0x7f03002a 54 | int dimen activity_horizontal_margin 0x7f040000 55 | int dimen activity_vertical_margin 0x7f040001 56 | int dimen compat_button_inset_horizontal_material 0x7f040002 57 | int dimen compat_button_inset_vertical_material 0x7f040003 58 | int dimen compat_button_padding_horizontal_material 0x7f040004 59 | int dimen compat_button_padding_vertical_material 0x7f040005 60 | int dimen compat_control_corner_material 0x7f040006 61 | int dimen notification_action_icon_size 0x7f040007 62 | int dimen notification_action_text_size 0x7f040008 63 | int dimen notification_big_circle_margin 0x7f040009 64 | int dimen notification_content_margin_start 0x7f04000a 65 | int dimen notification_large_icon_height 0x7f04000b 66 | int dimen notification_large_icon_width 0x7f04000c 67 | int dimen notification_main_column_padding_top 0x7f04000d 68 | int dimen notification_media_narrow_margin 0x7f04000e 69 | int dimen notification_right_icon_size 0x7f04000f 70 | int dimen notification_right_side_padding_top 0x7f040010 71 | int dimen notification_small_icon_background_padding 0x7f040011 72 | int dimen notification_small_icon_size_as_large 0x7f040012 73 | int dimen notification_subtext_size 0x7f040013 74 | int dimen notification_top_pad 0x7f040014 75 | int dimen notification_top_pad_large_text 0x7f040015 76 | int drawable ic_launcher 0x7f050000 77 | int drawable notification_action_background 0x7f050001 78 | int drawable notification_bg 0x7f050002 79 | int drawable notification_bg_low 0x7f050003 80 | int drawable notification_bg_low_normal 0x7f050004 81 | int drawable notification_bg_low_pressed 0x7f050005 82 | int drawable notification_bg_normal 0x7f050006 83 | int drawable notification_bg_normal_pressed 0x7f050007 84 | int drawable notification_icon_background 0x7f050008 85 | int drawable notification_template_icon_bg 0x7f050009 86 | int drawable notification_template_icon_low_bg 0x7f05000a 87 | int drawable notification_tile_bg 0x7f05000b 88 | int drawable notify_panel_notification_icon_bg 0x7f05000c 89 | int drawable select_label_ba 0x7f05000d 90 | int drawable select_label_er 0x7f05000e 91 | int drawable select_label_jiu 0x7f05000f 92 | int drawable select_label_liu 0x7f050010 93 | int drawable select_label_qi 0x7f050011 94 | int drawable select_label_san 0x7f050012 95 | int drawable select_label_se 0x7f050013 96 | int drawable select_label_si 0x7f050014 97 | int drawable select_label_sss 0x7f050015 98 | int drawable select_label_sy 0x7f050016 99 | int drawable select_label_wu 0x7f050017 100 | int drawable select_label_wuw 0x7f050018 101 | int drawable select_label_yi 0x7f050019 102 | int drawable select_label_yiw 0x7f05001a 103 | int drawable select_label_yiwu 0x7f05001b 104 | int drawable share_term_table_footer 0x7f05001c 105 | int drawable share_term_table_header 0x7f05001d 106 | int drawable tab_indicator_text 0x7f05001e 107 | int id action0 0x7f060000 108 | int id action_container 0x7f060001 109 | int id action_divider 0x7f060002 110 | int id action_image 0x7f060003 111 | int id action_text 0x7f060004 112 | int id actions 0x7f060005 113 | int id async 0x7f060006 114 | int id blocking 0x7f060007 115 | int id cancel_action 0x7f060008 116 | int id chronometer 0x7f060009 117 | int id end_padder 0x7f06000a 118 | int id forever 0x7f06000b 119 | int id icon 0x7f06000c 120 | int id icon_group 0x7f06000d 121 | int id info 0x7f06000e 122 | int id italic 0x7f06000f 123 | int id line1 0x7f060010 124 | int id line3 0x7f060011 125 | int id main_screenshot 0x7f060012 126 | int id main_scrollview 0x7f060013 127 | int id main_timetable_ly 0x7f060014 128 | int id media_actions 0x7f060015 129 | int id normal 0x7f060016 130 | int id notification_background 0x7f060017 131 | int id notification_main_column 0x7f060018 132 | int id notification_main_column_container 0x7f060019 133 | int id right_icon 0x7f06001a 134 | int id right_side 0x7f06001b 135 | int id status_bar_latest_event_content 0x7f06001c 136 | int id text 0x7f06001d 137 | int id text2 0x7f06001e 138 | int id time 0x7f06001f 139 | int id title 0x7f060020 140 | int integer cancel_button_image_alpha 0x7f070000 141 | int integer status_bar_notification_info_maxnum 0x7f070001 142 | int layout activity_main 0x7f080000 143 | int layout notification_action 0x7f080001 144 | int layout notification_action_tombstone 0x7f080002 145 | int layout notification_media_action 0x7f080003 146 | int layout notification_media_cancel_action 0x7f080004 147 | int layout notification_template_big_media 0x7f080005 148 | int layout notification_template_big_media_custom 0x7f080006 149 | int layout notification_template_big_media_narrow 0x7f080007 150 | int layout notification_template_big_media_narrow_custom 0x7f080008 151 | int layout notification_template_custom_big 0x7f080009 152 | int layout notification_template_icon_group 0x7f08000a 153 | int layout notification_template_lines_media 0x7f08000b 154 | int layout notification_template_media 0x7f08000c 155 | int layout notification_template_media_custom 0x7f08000d 156 | int layout notification_template_part_chronometer 0x7f08000e 157 | int layout notification_template_part_time 0x7f08000f 158 | int menu main 0x7f090000 159 | int string action_settings 0x7f0a0000 160 | int string app_name 0x7f0a0001 161 | int string hello_world 0x7f0a0002 162 | int string status_bar_notification_info_overflow 0x7f0a0003 163 | int style AppBaseTheme 0x7f0b0000 164 | int style AppTheme 0x7f0b0001 165 | int style MyWidget 0x7f0b0002 166 | int style MyWidget_TabText 0x7f0b0003 167 | int style TextAppearance_Compat_Notification 0x7f0b0004 168 | int style TextAppearance_Compat_Notification_Info 0x7f0b0005 169 | int style TextAppearance_Compat_Notification_Info_Media 0x7f0b0006 170 | int style TextAppearance_Compat_Notification_Line2 0x7f0b0007 171 | int style TextAppearance_Compat_Notification_Line2_Media 0x7f0b0008 172 | int style TextAppearance_Compat_Notification_Media 0x7f0b0009 173 | int style TextAppearance_Compat_Notification_Time 0x7f0b000a 174 | int style TextAppearance_Compat_Notification_Time_Media 0x7f0b000b 175 | int style TextAppearance_Compat_Notification_Title 0x7f0b000c 176 | int style TextAppearance_Compat_Notification_Title_Media 0x7f0b000d 177 | int style Widget_Compat_NotificationActionContainer 0x7f0b000e 178 | int style Widget_Compat_NotificationActionText 0x7f0b000f 179 | int[] styleable FontFamily { 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004, 0x7f010005, 0x7f010006 } 180 | int styleable FontFamily_fontProviderAuthority 0 181 | int styleable FontFamily_fontProviderCerts 1 182 | int styleable FontFamily_fontProviderFetchStrategy 2 183 | int styleable FontFamily_fontProviderFetchTimeout 3 184 | int styleable FontFamily_fontProviderPackage 4 185 | int styleable FontFamily_fontProviderQuery 5 186 | int[] styleable FontFamilyFont { 0x7f010000, 0x7f010007, 0x7f010008 } 187 | int styleable FontFamilyFont_font 0 188 | int styleable FontFamilyFont_fontStyle 1 189 | int styleable FontFamilyFont_fontWeight 2 190 | -------------------------------------------------------------------------------- /app/build/outputs/apk/app-debug-unaligned.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/outputs/apk/app-debug-unaligned.apk -------------------------------------------------------------------------------- /app/build/outputs/apk/app-debug.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/build/outputs/apk/app-debug.apk -------------------------------------------------------------------------------- /app/build/outputs/logs/manifest-merger-debug-report.txt: -------------------------------------------------------------------------------- 1 | -- Merging decision tree log --- 2 | manifest 3 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:2:1-28:12 4 | INJECTED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:2:1-28:12 5 | INJECTED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:2:1-28:12 6 | INJECTED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:2:1-28:12 7 | MERGED from [com.android.support:support-v4:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-v4-26.1.0.aar\bcc120740b2e2a36275a26ccf5974143\AndroidManifest.xml:17:1-31:12 8 | MERGED from [com.android.support:support-media-compat:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-media-compat-26.1.0.aar\144c2f072a9b9bdecfc8b98d1f97f4b8\AndroidManifest.xml:17:1-31:12 9 | MERGED from [com.android.support:support-fragment:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-fragment-26.1.0.aar\2023be33e19c61971758a00199a78068\AndroidManifest.xml:17:1-31:12 10 | MERGED from [com.android.support:support-core-utils:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-core-utils-26.1.0.aar\07fcae00b633ec34e4d2692deadaa968\AndroidManifest.xml:17:1-31:12 11 | MERGED from [com.android.support:support-core-ui:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-core-ui-26.1.0.aar\3a672139070a47443d0f347c698daa94\AndroidManifest.xml:17:1-31:12 12 | MERGED from [com.android.support:support-compat:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-compat-26.1.0.aar\6557d759764e679890ca786172362e7c\AndroidManifest.xml:17:1-31:12 13 | MERGED from [android.arch.lifecycle:runtime:1.0.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\runtime-1.0.0.aar\3f4b33ab16421a6f77702cd1b2ec7e24\AndroidManifest.xml:17:1-30:12 14 | INJECTED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:2:1-28:12 15 | INJECTED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:2:1-28:12 16 | INJECTED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:2:1-28:12 17 | package 18 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:3:5-38 19 | INJECTED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml 20 | INJECTED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml 21 | android:versionName 22 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:5:5-30 23 | INJECTED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml 24 | INJECTED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml 25 | xmlns:android 26 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:2:11-69 27 | android:versionCode 28 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:4:5-28 29 | INJECTED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml 30 | INJECTED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml 31 | uses-sdk 32 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:7:5-9:41 33 | INJECTED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:7:5-9:41 34 | INJECTED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:7:5-9:41 35 | MERGED from [com.android.support:support-v4:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-v4-26.1.0.aar\bcc120740b2e2a36275a26ccf5974143\AndroidManifest.xml:21:5-23:54 36 | MERGED from [com.android.support:support-v4:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-v4-26.1.0.aar\bcc120740b2e2a36275a26ccf5974143\AndroidManifest.xml:21:5-23:54 37 | MERGED from [com.android.support:support-media-compat:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-media-compat-26.1.0.aar\144c2f072a9b9bdecfc8b98d1f97f4b8\AndroidManifest.xml:21:5-23:63 38 | MERGED from [com.android.support:support-media-compat:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-media-compat-26.1.0.aar\144c2f072a9b9bdecfc8b98d1f97f4b8\AndroidManifest.xml:21:5-23:63 39 | MERGED from [com.android.support:support-fragment:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-fragment-26.1.0.aar\2023be33e19c61971758a00199a78068\AndroidManifest.xml:21:5-23:60 40 | MERGED from [com.android.support:support-fragment:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-fragment-26.1.0.aar\2023be33e19c61971758a00199a78068\AndroidManifest.xml:21:5-23:60 41 | MERGED from [com.android.support:support-core-utils:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-core-utils-26.1.0.aar\07fcae00b633ec34e4d2692deadaa968\AndroidManifest.xml:21:5-23:61 42 | MERGED from [com.android.support:support-core-utils:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-core-utils-26.1.0.aar\07fcae00b633ec34e4d2692deadaa968\AndroidManifest.xml:21:5-23:61 43 | MERGED from [com.android.support:support-core-ui:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-core-ui-26.1.0.aar\3a672139070a47443d0f347c698daa94\AndroidManifest.xml:21:5-23:58 44 | MERGED from [com.android.support:support-core-ui:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-core-ui-26.1.0.aar\3a672139070a47443d0f347c698daa94\AndroidManifest.xml:21:5-23:58 45 | MERGED from [com.android.support:support-compat:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-compat-26.1.0.aar\6557d759764e679890ca786172362e7c\AndroidManifest.xml:21:5-23:58 46 | MERGED from [com.android.support:support-compat:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-compat-26.1.0.aar\6557d759764e679890ca786172362e7c\AndroidManifest.xml:21:5-23:58 47 | MERGED from [android.arch.lifecycle:runtime:1.0.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\runtime-1.0.0.aar\3f4b33ab16421a6f77702cd1b2ec7e24\AndroidManifest.xml:20:5-22:41 48 | MERGED from [android.arch.lifecycle:runtime:1.0.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\runtime-1.0.0.aar\3f4b33ab16421a6f77702cd1b2ec7e24\AndroidManifest.xml:20:5-22:41 49 | INJECTED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:7:5-9:41 50 | INJECTED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:7:5-9:41 51 | tools:overrideLibrary 52 | ADDED from [com.android.support:support-v4:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-v4-26.1.0.aar\bcc120740b2e2a36275a26ccf5974143\AndroidManifest.xml:23:9-51 53 | android:targetSdkVersion 54 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:9:9-38 55 | INJECTED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml 56 | INJECTED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml 57 | android:minSdkVersion 58 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:8:9-35 59 | INJECTED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml 60 | INJECTED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml 61 | uses-permission#android.permission.WRITE_EXTERNAL_STORAGE 62 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:10:5-80 63 | android:name 64 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:10:22-78 65 | uses-permission#android.permission.READ_EXTERNAL_STORAGE 66 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:11:5-79 67 | android:name 68 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:11:22-77 69 | application 70 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:12:5-26:19 71 | MERGED from [com.android.support:support-v4:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-v4-26.1.0.aar\bcc120740b2e2a36275a26ccf5974143\AndroidManifest.xml:25:5-29:19 72 | MERGED from [com.android.support:support-v4:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-v4-26.1.0.aar\bcc120740b2e2a36275a26ccf5974143\AndroidManifest.xml:25:5-29:19 73 | MERGED from [com.android.support:support-media-compat:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-media-compat-26.1.0.aar\144c2f072a9b9bdecfc8b98d1f97f4b8\AndroidManifest.xml:25:5-29:19 74 | MERGED from [com.android.support:support-media-compat:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-media-compat-26.1.0.aar\144c2f072a9b9bdecfc8b98d1f97f4b8\AndroidManifest.xml:25:5-29:19 75 | MERGED from [com.android.support:support-fragment:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-fragment-26.1.0.aar\2023be33e19c61971758a00199a78068\AndroidManifest.xml:25:5-29:19 76 | MERGED from [com.android.support:support-fragment:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-fragment-26.1.0.aar\2023be33e19c61971758a00199a78068\AndroidManifest.xml:25:5-29:19 77 | MERGED from [com.android.support:support-core-utils:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-core-utils-26.1.0.aar\07fcae00b633ec34e4d2692deadaa968\AndroidManifest.xml:25:5-29:19 78 | MERGED from [com.android.support:support-core-utils:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-core-utils-26.1.0.aar\07fcae00b633ec34e4d2692deadaa968\AndroidManifest.xml:25:5-29:19 79 | MERGED from [com.android.support:support-core-ui:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-core-ui-26.1.0.aar\3a672139070a47443d0f347c698daa94\AndroidManifest.xml:25:5-29:19 80 | MERGED from [com.android.support:support-core-ui:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-core-ui-26.1.0.aar\3a672139070a47443d0f347c698daa94\AndroidManifest.xml:25:5-29:19 81 | MERGED from [com.android.support:support-compat:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-compat-26.1.0.aar\6557d759764e679890ca786172362e7c\AndroidManifest.xml:25:5-29:19 82 | MERGED from [com.android.support:support-compat:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-compat-26.1.0.aar\6557d759764e679890ca786172362e7c\AndroidManifest.xml:25:5-29:19 83 | MERGED from [android.arch.lifecycle:runtime:1.0.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\runtime-1.0.0.aar\3f4b33ab16421a6f77702cd1b2ec7e24\AndroidManifest.xml:24:5-28:19 84 | MERGED from [android.arch.lifecycle:runtime:1.0.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\runtime-1.0.0.aar\3f4b33ab16421a6f77702cd1b2ec7e24\AndroidManifest.xml:24:5-28:19 85 | android:label 86 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:15:9-41 87 | android:icon 88 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:14:9-45 89 | android:allowBackup 90 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:13:9-35 91 | android:theme 92 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:16:9-56 93 | activity#com.shallcheek.timetale.MainActivity 94 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:17:9-25:20 95 | android:label 96 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:19:13-45 97 | android:name 98 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:18:13-41 99 | intent-filter#android.intent.action.MAIN+android.intent.category.LAUNCHER 100 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:20:13-24:29 101 | action#android.intent.action.MAIN 102 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:21:17-69 103 | android:name 104 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:21:25-66 105 | category#android.intent.category.LAUNCHER 106 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:23:17-77 107 | android:name 108 | ADDED from D:\work\TimeTableView\app\src\main\AndroidManifest.xml:23:27-74 109 | meta-data#android.support.VERSION 110 | ADDED from [com.android.support:support-v4:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-v4-26.1.0.aar\bcc120740b2e2a36275a26ccf5974143\AndroidManifest.xml:26:9-28:38 111 | MERGED from [com.android.support:support-media-compat:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-media-compat-26.1.0.aar\144c2f072a9b9bdecfc8b98d1f97f4b8\AndroidManifest.xml:26:9-28:38 112 | MERGED from [com.android.support:support-media-compat:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-media-compat-26.1.0.aar\144c2f072a9b9bdecfc8b98d1f97f4b8\AndroidManifest.xml:26:9-28:38 113 | MERGED from [com.android.support:support-fragment:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-fragment-26.1.0.aar\2023be33e19c61971758a00199a78068\AndroidManifest.xml:26:9-28:38 114 | MERGED from [com.android.support:support-fragment:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-fragment-26.1.0.aar\2023be33e19c61971758a00199a78068\AndroidManifest.xml:26:9-28:38 115 | MERGED from [com.android.support:support-core-utils:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-core-utils-26.1.0.aar\07fcae00b633ec34e4d2692deadaa968\AndroidManifest.xml:26:9-28:38 116 | MERGED from [com.android.support:support-core-utils:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-core-utils-26.1.0.aar\07fcae00b633ec34e4d2692deadaa968\AndroidManifest.xml:26:9-28:38 117 | MERGED from [com.android.support:support-core-ui:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-core-ui-26.1.0.aar\3a672139070a47443d0f347c698daa94\AndroidManifest.xml:26:9-28:38 118 | MERGED from [com.android.support:support-core-ui:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-core-ui-26.1.0.aar\3a672139070a47443d0f347c698daa94\AndroidManifest.xml:26:9-28:38 119 | MERGED from [com.android.support:support-compat:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-compat-26.1.0.aar\6557d759764e679890ca786172362e7c\AndroidManifest.xml:26:9-28:38 120 | MERGED from [com.android.support:support-compat:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-compat-26.1.0.aar\6557d759764e679890ca786172362e7c\AndroidManifest.xml:26:9-28:38 121 | android:value 122 | ADDED from [com.android.support:support-v4:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-v4-26.1.0.aar\bcc120740b2e2a36275a26ccf5974143\AndroidManifest.xml:28:13-35 123 | android:name 124 | ADDED from [com.android.support:support-v4:26.1.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\support-v4-26.1.0.aar\bcc120740b2e2a36275a26ccf5974143\AndroidManifest.xml:27:13-51 125 | meta-data#android.arch.lifecycle.VERSION 126 | ADDED from [android.arch.lifecycle:runtime:1.0.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\runtime-1.0.0.aar\3f4b33ab16421a6f77702cd1b2ec7e24\AndroidManifest.xml:25:9-27:47 127 | android:value 128 | ADDED from [android.arch.lifecycle:runtime:1.0.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\runtime-1.0.0.aar\3f4b33ab16421a6f77702cd1b2ec7e24\AndroidManifest.xml:27:13-44 129 | android:name 130 | ADDED from [android.arch.lifecycle:runtime:1.0.0] C:\Users\Chaek\.gradle\caches\transforms-1\files-1.1\runtime-1.0.0.aar\3f4b33ab16421a6f77702cd1b2ec7e24\AndroidManifest.xml:26:13-58 131 | -------------------------------------------------------------------------------- /app/lint.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | 12 | 17 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /app/src/main/java/com/shallcheek/timetale/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.shallcheek.timetale; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | import java.util.zip.Inflater; 6 | 7 | import android.app.Activity; 8 | import android.content.Context; 9 | import android.graphics.Color; 10 | import android.os.Bundle; 11 | import android.view.Menu; 12 | import android.view.MenuInflater; 13 | import android.view.MenuItem; 14 | import android.view.View; 15 | import android.view.ViewGroup; 16 | import android.view.ViewGroup.LayoutParams; 17 | import android.widget.LinearLayout; 18 | import android.widget.ScrollView; 19 | 20 | public class MainActivity extends Activity { 21 | private TimeTableView mTimaTableView; 22 | private List mList; 23 | 24 | @Override 25 | protected void onCreate(Bundle savedInstanceState) { 26 | super.onCreate(savedInstanceState); 27 | setContentView(R.layout.activity_main); 28 | mList = new ArrayList(); 29 | mTimaTableView = (TimeTableView) findViewById(R.id.main_timetable_ly); 30 | addList(); 31 | mTimaTableView.setTimeTable(mList); 32 | 33 | } 34 | 35 | @Override 36 | public boolean onCreateOptionsMenu(Menu menu) { 37 | getMenuInflater().inflate(R.menu.main, menu); 38 | return true; 39 | } 40 | 41 | private void addList() { 42 | mList.add(new TimeTableModel(0, 1, 2, 1, "8:20", "10:10", "财务报表分析", 43 | "王老师", "1", "2-13")); 44 | mList.add(new TimeTableModel(0, 3, 4, 1, "8:20", "10:10", "审计实务", 45 | "李老师", "2", "2-13")); 46 | mList.add(new TimeTableModel(0, 6, 7, 1, "8:20", "10:10", "市场营销实务", 47 | "王", "3", "2-13")); 48 | 49 | 50 | mList.add(new TimeTableModel(0, 6, 7, 2, "8:20", "10:10", "财务管理实务", 51 | "老师1", "4", "2-13")); 52 | mList.add(new TimeTableModel(0, 8, 9, 2, "8:20", "10:10", "财务报表分析", 53 | "老师2", "5", "2-13")); 54 | 55 | mList.add(new TimeTableModel(0, 1, 2, 3, "8:20", "10:10", "审计实务", 56 | "老师3", "6", "2-13")); 57 | 58 | mList.add(new TimeTableModel(0, 6, 7, 3, "8:20", "10:10", "管理会计实务", 59 | "老师4", "7", "2-13")); 60 | mList.add(new TimeTableModel(0, 8, 9, 4, "8:20", "10:10", "管理会计实务", 61 | "老师5", "9", "2-13")); 62 | mList.add(new TimeTableModel(0, 3, 5, 4, "8:20", "10:10", "财务管理实务", 63 | "老师4", "8", "2-13")); 64 | mList.add(new TimeTableModel(0, 6, 8, 5, "8:20", "10:10", "证券投资分析", 65 | "老师7", "11", "2-13")); 66 | mList.add(new TimeTableModel(0, 3, 5, 5, "8:20", "10:10", "税务筹划", 67 | "老师6", "10", "2-13")); 68 | 69 | } 70 | 71 | @Override 72 | public boolean onOptionsItemSelected(MenuItem item) { 73 | switch (item.getItemId()) { 74 | case R.id.main_screenshot: 75 | ScreenshotUtil.getBitmapByView(this, (ScrollView) findViewById(R.id.main_scrollview)); 76 | break; 77 | } 78 | return true; 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /app/src/main/java/com/shallcheek/timetale/ScreenshotUtil.java: -------------------------------------------------------------------------------- 1 | package com.shallcheek.timetale; 2 | 3 | import android.content.Context; 4 | import android.graphics.Bitmap; 5 | import android.graphics.BitmapFactory; 6 | import android.graphics.Canvas; 7 | import android.graphics.Color; 8 | import android.os.Environment; 9 | import android.util.Log; 10 | import android.widget.ScrollView; 11 | import android.widget.Toast; 12 | 13 | import java.io.File; 14 | import java.io.FileNotFoundException; 15 | import java.io.FileOutputStream; 16 | import java.io.IOException; 17 | 18 | /** 19 | * 截图操作 20 | * Created by Shall on 2015-07-22. 21 | */ 22 | public class ScreenshotUtil { 23 | 24 | private final static String FILE_SAVEPATH = Environment 25 | .getExternalStorageDirectory().getAbsolutePath() ; 26 | public static String pathfile = FILE_SAVEPATH + "/ScreenshotUtil.png"; 27 | public static int h = 0; 28 | 29 | /** 30 | * 因为课表是可以滑动 的所以截取 31 | * 截取scrollview的屏幕 32 | **/ 33 | public static void getBitmapByView(Context mContext, final ScrollView scrollView) { 34 | // 获取listView实际高度 35 | h = 0; 36 | for (int i = 0; i < scrollView.getChildCount(); i++) { 37 | h += scrollView.getChildAt(i).getHeight(); 38 | scrollView.getChildAt(i).setBackgroundResource(android.R.color.white); 39 | } 40 | // 创建对应大小的bitmap 41 | Bitmap bitmap = Bitmap.createBitmap(scrollView.getWidth(), h, Bitmap.Config.ARGB_8888); 42 | Canvas canvas = new Canvas(bitmap); 43 | scrollView.draw(canvas); 44 | 45 | Bitmap head = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.share_term_table_header); 46 | Bitmap foot = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.share_term_table_footer); 47 | Bitmap v = toConformBitmap(head, bitmap, foot); 48 | 49 | File savedir = new File(FILE_SAVEPATH); 50 | if (!savedir.exists()) { 51 | savedir.mkdirs(); 52 | } 53 | 54 | FileOutputStream out = null; 55 | try { 56 | out = new FileOutputStream(pathfile); 57 | } catch (FileNotFoundException e) { 58 | e.printStackTrace(); 59 | Toast.makeText(mContext,"保存失败",Toast.LENGTH_SHORT).show(); 60 | } 61 | try { 62 | if (null != out) { 63 | v.compress(Bitmap.CompressFormat.PNG, 100, out); 64 | out.flush(); 65 | out.close(); 66 | } 67 | Toast.makeText(mContext,"保存成功",Toast.LENGTH_SHORT).show(); 68 | } catch (IOException e) { 69 | Toast.makeText(mContext,"保存失败",Toast.LENGTH_SHORT).show(); 70 | } 71 | 72 | } 73 | 74 | /** 75 | * 合并图片 76 | * 77 | * @param head 78 | * @param kebiao 79 | * @param san 80 | * @return 81 | */ 82 | public static Bitmap toConformBitmap(Bitmap head, Bitmap kebiao, Bitmap san) { 83 | if (head == null) { 84 | return null; 85 | } 86 | int headWidth = head.getWidth(); 87 | int kebianwidth = kebiao.getWidth(); 88 | int fotwid = san.getWidth(); 89 | 90 | int headHeight = head.getHeight(); 91 | int kebiaoheight = kebiao.getHeight(); 92 | int footerheight = san.getHeight(); 93 | //生成三个图片合并大小的Bitmap 94 | Bitmap newbmp = Bitmap.createBitmap(kebianwidth, headHeight + kebiaoheight + footerheight, Bitmap.Config.ARGB_8888); 95 | Canvas cv = new Canvas(newbmp); 96 | cv.drawBitmap(head, 0, 0, null);// 在 0,0坐标开始画入headBitmap 97 | 98 | //因为手机不同图片的大小的可能小了 就绘制白色的界面填充剩下的界面 99 | if (headWidth < kebianwidth) { 100 | System.out.println("绘制头"); 101 | Bitmap ne = Bitmap.createBitmap(kebianwidth - headWidth, headHeight, Bitmap.Config.ARGB_8888); 102 | Canvas canvas = new Canvas(ne); 103 | canvas.drawColor(Color.WHITE); 104 | cv.drawBitmap(ne, headWidth, 0, null); 105 | } 106 | cv.drawBitmap(kebiao, 0, headHeight, null);// 在 0,headHeight坐标开始填充课表的Bitmap 107 | cv.drawBitmap(san, 0, headHeight + kebiaoheight, null);// 在 0,headHeight + kebiaoheight坐标开始填充课表的Bitmap 108 | //因为手机不同图片的大小的可能小了 就绘制白色的界面填充剩下的界面 109 | if (fotwid < kebianwidth) { 110 | System.out.println("绘制"); 111 | Bitmap ne = Bitmap.createBitmap(kebianwidth - fotwid, footerheight, Bitmap.Config.ARGB_8888); 112 | Canvas canvas = new Canvas(ne); 113 | canvas.drawColor(Color.WHITE); 114 | cv.drawBitmap(ne, fotwid, headHeight + kebiaoheight, null); 115 | } 116 | cv.save(Canvas.ALL_SAVE_FLAG);// 保存 117 | cv.restore();// 存储 118 | //回收 119 | head.recycle(); 120 | kebiao.recycle(); 121 | san.recycle(); 122 | return newbmp; 123 | } 124 | 125 | 126 | } 127 | -------------------------------------------------------------------------------- /app/src/main/java/com/shallcheek/timetale/TimeTableModel.java: -------------------------------------------------------------------------------- 1 | package com.shallcheek.timetale; 2 | 3 | public class TimeTableModel { 4 | private int id; 5 | private int startnum; 6 | private int endnum; 7 | private int week; 8 | private String starttime=""; 9 | private String endtime=""; 10 | private String name=""; 11 | private String teacher=""; 12 | private String classroom=""; 13 | private String weeknum=""; 14 | 15 | @Override 16 | public String toString() { 17 | return "TimeTableModel [id=" + id + ", startnum=" + startnum 18 | + ", endnum=" + endnum + ", week=" + week + ", starttime=" 19 | + starttime + ", endtime=" + endtime + ", name=" + name 20 | + ", teacher=" + teacher + ", classroom=" + classroom 21 | + ", weeknum=" + weeknum + "]"; 22 | } 23 | 24 | public int getId() { 25 | return id; 26 | } 27 | 28 | public int getStartnum() { 29 | return startnum; 30 | } 31 | 32 | public int getEndnum() { 33 | return endnum; 34 | } 35 | 36 | public int getWeek() { 37 | return week; 38 | } 39 | 40 | public String getStarttime() { 41 | return starttime; 42 | } 43 | 44 | public String getEndtime() { 45 | return endtime; 46 | } 47 | 48 | public String getName() { 49 | return name; 50 | } 51 | 52 | public String getTeacher() { 53 | return teacher; 54 | } 55 | 56 | public String getClassroom() { 57 | return classroom; 58 | } 59 | 60 | public String getWeeknum() { 61 | return weeknum; 62 | } 63 | 64 | public void setId(int id) { 65 | this.id = id; 66 | } 67 | 68 | public void setStartnum(int startnum) { 69 | this.startnum = startnum; 70 | } 71 | 72 | public void setEndnum(int endnum) { 73 | this.endnum = endnum; 74 | } 75 | 76 | public void setWeek(int week) { 77 | this.week = week; 78 | } 79 | 80 | public void setStarttime(String starttime) { 81 | this.starttime = starttime; 82 | } 83 | 84 | public void setEndtime(String endtime) { 85 | this.endtime = endtime; 86 | } 87 | 88 | public void setName(String name) { 89 | this.name = name; 90 | } 91 | 92 | public void setTeacher(String teacher) { 93 | this.teacher = teacher; 94 | } 95 | 96 | public void setClassroom(String classroom) { 97 | this.classroom = classroom; 98 | } 99 | 100 | public void setWeeknum(String weeknum) { 101 | this.weeknum = weeknum; 102 | } 103 | public TimeTableModel() { 104 | // TODO Auto-generated constructor stub 105 | } 106 | 107 | public TimeTableModel(int id, int startnum, int endnum, int week, 108 | String starttime, String endtime, String name, String teacher, 109 | String classroom, String weeknum) { 110 | super(); 111 | this.id = id; 112 | this.startnum = startnum; 113 | this.endnum = endnum; 114 | this.week = week; 115 | this.starttime = starttime; 116 | this.endtime = endtime; 117 | this.name = name; 118 | this.teacher = teacher; 119 | this.classroom = classroom; 120 | this.weeknum = weeknum; 121 | } 122 | 123 | } 124 | -------------------------------------------------------------------------------- /app/src/main/java/com/shallcheek/timetale/TimeTableView.java: -------------------------------------------------------------------------------- 1 | package com.shallcheek.timetale; 2 | 3 | import java.util.ArrayList; 4 | import java.util.Collections; 5 | import java.util.Comparator; 6 | import java.util.List; 7 | 8 | import android.content.Context; 9 | import android.graphics.Canvas; 10 | import android.support.annotation.NonNull; 11 | import android.util.AttributeSet; 12 | import android.view.Gravity; 13 | import android.view.View; 14 | import android.view.ViewGroup; 15 | import android.view.WindowManager; 16 | import android.widget.LinearLayout; 17 | import android.widget.TextView; 18 | import android.widget.Toast; 19 | 20 | /** 21 | * 课表显示View 22 | * 23 | * @author shallcheek 24 | */ 25 | public class TimeTableView extends LinearLayout { 26 | /** 27 | * 配色数组 28 | */ 29 | public static int colors[] = {R.drawable.select_label_san, 30 | R.drawable.select_label_er, R.drawable.select_label_si, 31 | R.drawable.select_label_wu, R.drawable.select_label_liu, 32 | R.drawable.select_label_qi, R.drawable.select_label_ba, 33 | R.drawable.select_label_jiu, R.drawable.select_label_sss, 34 | R.drawable.select_label_se, R.drawable.select_label_yiw, 35 | R.drawable.select_label_sy, R.drawable.select_label_yiwu, 36 | R.drawable.select_label_yi, R.drawable.select_label_wuw}; 37 | private final static int START = 0; 38 | //最大节数 39 | public final static int MAXNUM = 12; 40 | //显示到星期几 41 | public final static int WEEKNUM = 7; 42 | /** 43 | * 单个View高度 44 | */ 45 | private final static int TIME_TABLE_HEIGHT = 50; 46 | /** 47 | * 线的高度 48 | */ 49 | private final static int TIME_TABLE_LINE_HEIGHT = 2; 50 | private final static int LEFT_TITLE_WIDTH = 20; 51 | private final static int WEEK_TITLE_HEIGHT = 30; 52 | /** 53 | * 第一行的星期显示 54 | */ 55 | private LinearLayout mHorizontalWeekLayout; 56 | private LinearLayout mVerticalWeekLaout; 57 | private String[] mWeekTitle = {"一", "二", "三", "四", "五", "六", "七"}; 58 | public static String[] colorStr = new String[20]; 59 | int colorNum = 0; 60 | private List mListTimeTable = new ArrayList(); 61 | 62 | private Context mContext; 63 | 64 | public TimeTableView(Context context) { 65 | super(context); 66 | } 67 | 68 | public TimeTableView(Context context, AttributeSet attributeSet) { 69 | super(context, attributeSet); 70 | this.mContext = context; 71 | } 72 | 73 | @Override 74 | protected void onDraw(Canvas canvas) { 75 | super.onDraw(canvas); 76 | } 77 | 78 | /** 79 | * 横的分界线 80 | * 81 | * @return 82 | */ 83 | private View getWeekHorizontalLine() { 84 | View line = new View(getContext()); 85 | line.setBackgroundColor(getResources().getColor(R.color.view_line)); 86 | line.setLayoutParams(new ViewGroup.LayoutParams(LayoutParams.MATCH_PARENT, TIME_TABLE_LINE_HEIGHT)); 87 | return line; 88 | } 89 | 90 | /** 91 | * 竖向分界线 92 | * 93 | * @return 94 | */ 95 | private View getWeekVerticalLine() { 96 | View line = new View(mContext); 97 | line.setBackgroundColor(getResources().getColor(R.color.view_line)); 98 | line.setLayoutParams(new ViewGroup.LayoutParams((TIME_TABLE_LINE_HEIGHT), dip2px(WEEK_TITLE_HEIGHT))); 99 | return line; 100 | } 101 | 102 | 103 | private void initView() { 104 | 105 | mHorizontalWeekLayout = new LinearLayout(getContext()); 106 | mHorizontalWeekLayout.setOrientation(HORIZONTAL); 107 | mVerticalWeekLaout = new LinearLayout(getContext()); 108 | mVerticalWeekLaout.setOrientation(HORIZONTAL); 109 | 110 | //表格 111 | for (int i = 0; i <= WEEKNUM; i++) { 112 | if (i == 0) { 113 | layoutLeftNumber(); 114 | } else { 115 | layoutWeekTitleView(i); 116 | layoutContentView(i); 117 | } 118 | 119 | mVerticalWeekLaout.addView(createTableVerticalLine()); 120 | mHorizontalWeekLayout.addView(getWeekVerticalLine()); 121 | } 122 | addView(mHorizontalWeekLayout); 123 | addView(getWeekHorizontalLine()); 124 | addView(mVerticalWeekLaout); 125 | } 126 | 127 | @NonNull 128 | private View createTableVerticalLine() { 129 | View l = new View(getContext()); 130 | l.setLayoutParams(new ViewGroup.LayoutParams(TIME_TABLE_LINE_HEIGHT, dip2px(TIME_TABLE_HEIGHT * MAXNUM) + (MAXNUM - 2) * TIME_TABLE_LINE_HEIGHT)); 131 | l.setBackgroundColor(getResources().getColor(R.color.view_line)); 132 | return l; 133 | } 134 | 135 | private void layoutContentView(int week) { 136 | List weekClassList = findWeekClassList(week); 137 | //添加 138 | LinearLayout mLayout = createWeekTimeTableView(weekClassList, week); 139 | mLayout.setOrientation(VERTICAL); 140 | mLayout.setLayoutParams(new ViewGroup.LayoutParams((getViewWidth() - dip2px(20)) / WEEKNUM, LayoutParams.MATCH_PARENT)); 141 | mLayout.setWeightSum(1); 142 | mVerticalWeekLaout.addView(mLayout); 143 | } 144 | 145 | /** 146 | * 遍历出星期1~7的课表 147 | * 再进行排序 148 | * 149 | * @param week 星期 150 | */ 151 | @NonNull 152 | private List findWeekClassList(int week) { 153 | List list = new ArrayList<>(); 154 | for (TimeTableModel timeTableModel : mListTimeTable) { 155 | if (timeTableModel.getWeek() == week) { 156 | list.add(timeTableModel); 157 | } 158 | } 159 | 160 | Collections.sort(list, new Comparator() { 161 | @Override 162 | public int compare(TimeTableModel o1, TimeTableModel o2) { 163 | return o1.getStartnum() - o2.getStartnum(); 164 | } 165 | }); 166 | 167 | return list; 168 | } 169 | 170 | private void layoutWeekTitleView(int weekNumber) { 171 | TextView weekText = new TextView(getContext()); 172 | weekText.setTextColor(getResources().getColor(R.color.text_color)); 173 | weekText.setWidth(((getViewWidth() - dip2px(LEFT_TITLE_WIDTH))) / WEEKNUM); 174 | weekText.setHeight(dip2px(WEEK_TITLE_HEIGHT)); 175 | weekText.setGravity(Gravity.CENTER); 176 | weekText.setTextSize(16); 177 | weekText.setText(mWeekTitle[weekNumber - 1]); 178 | mHorizontalWeekLayout.addView(weekText); 179 | } 180 | 181 | 182 | private void layoutLeftNumber() { 183 | //课表出的0,0格子 空白的 184 | TextView mTime = new TextView(mContext); 185 | mTime.setLayoutParams(new ViewGroup.LayoutParams(dip2px(LEFT_TITLE_WIDTH), dip2px(WEEK_TITLE_HEIGHT))); 186 | mHorizontalWeekLayout.addView(mTime); 187 | 188 | //绘制1~MAXNUM 189 | LinearLayout numberView = new LinearLayout(mContext); 190 | numberView.setLayoutParams(new ViewGroup.LayoutParams(dip2px(LEFT_TITLE_WIDTH), dip2px(MAXNUM * TIME_TABLE_HEIGHT) + MAXNUM * 2)); 191 | numberView.setOrientation(VERTICAL); 192 | for (int j = 1; j <= MAXNUM; j++) { 193 | TextView number = createNumberView(j); 194 | numberView.addView(number); 195 | numberView.addView(getWeekHorizontalLine()); 196 | } 197 | mVerticalWeekLaout.addView(numberView); 198 | } 199 | 200 | @NonNull 201 | private TextView createNumberView(int j) { 202 | TextView number = new TextView(getContext()); 203 | number.setLayoutParams(new ViewGroup.LayoutParams(dip2px(LEFT_TITLE_WIDTH), dip2px(TIME_TABLE_HEIGHT))); 204 | number.setGravity(Gravity.CENTER); 205 | number.setTextColor(getResources().getColor(R.color.text_color)); 206 | number.setTextSize(14); 207 | number.setText(String.valueOf(j)); 208 | return number; 209 | } 210 | 211 | private int getViewWidth() { 212 | WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE); 213 | return wm.getDefaultDisplay().getWidth(); 214 | } 215 | 216 | /** 217 | * 绘制空白 218 | * 219 | * @param count 数量 220 | * @param week 星期 221 | * @param start 用着计算下标 222 | */ 223 | private View addBlankView(int count, final int week, final int start) { 224 | LinearLayout blank = new LinearLayout(getContext()); 225 | blank.setOrientation(VERTICAL); 226 | for (int i = 1; i < count; i++) { 227 | View classView = new View(getContext()); 228 | classView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, dip2px(TIME_TABLE_HEIGHT))); 229 | blank.addView(classView); 230 | blank.addView(getWeekHorizontalLine()); 231 | final int num = i; 232 | //这里可以处理空白处点击添加课表 233 | classView.setOnClickListener(new OnClickListener() { 234 | @Override 235 | public void onClick(View v) { 236 | Toast.makeText(getContext(), "星期" + week + "第" + (start + num) + "节", Toast.LENGTH_LONG).show(); 237 | } 238 | }); 239 | 240 | } 241 | return blank; 242 | } 243 | 244 | /** 245 | * 星期一到星期天的课表 246 | * 247 | * @param weekList 每天的课程列表 248 | * @param week 周 249 | */ 250 | private LinearLayout createWeekTimeTableView(List weekList, int week) { 251 | LinearLayout weekTableView = new LinearLayout(getContext()); 252 | weekTableView.setOrientation(VERTICAL); 253 | int size = weekList.size(); 254 | if (weekList.isEmpty()) { 255 | weekTableView.addView(addBlankView(MAXNUM + 1, week, 0)); 256 | } else { 257 | for (int i = 0; i < size; i++) { 258 | TimeTableModel tableModel = weekList.get(i); 259 | if (i == 0) { 260 | //添加的0到开始节数的空格 261 | weekTableView.addView(addBlankView(tableModel.getStartnum(), week, 0)); 262 | weekTableView.addView(createClassView(tableModel)); 263 | } else if (weekList.get(i).getStartnum() - weekList.get(i - 1).getEndnum() > 0) { 264 | //填充 265 | weekTableView.addView(addBlankView(weekList.get(i).getStartnum() - weekList.get(i - 1).getEndnum(), week, weekList.get(i - 1).getEndnum())); 266 | weekTableView.addView(createClassView(weekList.get(i))); 267 | } 268 | //绘制剩下的空白 269 | if (i + 1 == size) { 270 | weekTableView.addView(addBlankView(MAXNUM - weekList.get(i).getEndnum() + 1, week, weekList.get(i).getEndnum())); 271 | } 272 | } 273 | } 274 | return weekTableView; 275 | } 276 | 277 | /** 278 | * 获取单个课表View 也可以自定义我这个 279 | * 280 | * @param model 数据类型 281 | * @return 282 | */ 283 | @SuppressWarnings("deprecation") 284 | private View createClassView(final TimeTableModel model) { 285 | LinearLayout mTimeTableView = new LinearLayout(getContext()); 286 | mTimeTableView.setOrientation(VERTICAL); 287 | int num = (model.getEndnum() - model.getStartnum()); 288 | mTimeTableView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, dip2px((num + 1) * TIME_TABLE_HEIGHT) + (num + 1) * TIME_TABLE_LINE_HEIGHT)); 289 | 290 | TextView mTimeTableNameView = new TextView(getContext()); 291 | mTimeTableNameView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, dip2px((num + 1) * TIME_TABLE_HEIGHT) + (num) * TIME_TABLE_LINE_HEIGHT)); 292 | 293 | mTimeTableNameView.setTextColor(getContext().getResources().getColor( 294 | android.R.color.white)); 295 | mTimeTableNameView.setTextSize(16); 296 | mTimeTableNameView.setGravity(Gravity.CENTER); 297 | mTimeTableNameView.setText(model.getName() + "@" + model.getClassroom()); 298 | 299 | mTimeTableView.addView(mTimeTableNameView); 300 | mTimeTableView.addView(getWeekHorizontalLine()); 301 | 302 | mTimeTableView.setBackgroundDrawable(getContext().getResources() 303 | .getDrawable(colors[getColorNum(model.getName())])); 304 | mTimeTableView.setOnClickListener(new OnClickListener() { 305 | @Override 306 | public void onClick(View v) { 307 | Toast.makeText(getContext(), model.getName() + "@" + model.getClassroom(), Toast.LENGTH_LONG).show(); 308 | } 309 | }); 310 | return mTimeTableView; 311 | } 312 | 313 | /** 314 | * 转换dp 315 | * 316 | * @param dpValue 317 | * @return 318 | */ 319 | public int dip2px(float dpValue) { 320 | float scale = getContext().getResources().getDisplayMetrics().density; 321 | return (int) (dpValue * scale); 322 | } 323 | 324 | public void setTimeTable(List mlist) { 325 | this.mListTimeTable = mlist; 326 | for (TimeTableModel timeTableModel : mlist) { 327 | addTimeName(timeTableModel.getName()); 328 | } 329 | initView(); 330 | invalidate(); 331 | } 332 | 333 | /** 334 | * 输入课表名循环判断是否数组存在该课表 如果存在输出true并退出循环 如果不存在则存入colorSt[20]数组 335 | * 336 | * @param name 337 | */ 338 | private void addTimeName(String name) { 339 | boolean isRepeat = true; 340 | for (int i = 0; i < 20; i++) { 341 | if (name.equals(colorStr[i])) { 342 | isRepeat = true; 343 | break; 344 | } else { 345 | isRepeat = false; 346 | } 347 | } 348 | if (!isRepeat) { 349 | colorStr[colorNum] = name; 350 | colorNum++; 351 | } 352 | } 353 | 354 | /** 355 | * 获取数组中的课程名 356 | * 357 | * @param name 358 | * @return 359 | */ 360 | public static int getColorNum(String name) { 361 | int num = 0; 362 | for (int i = 0; i < 20; i++) { 363 | if (name.equals(colorStr[i])) { 364 | num = i; 365 | } 366 | } 367 | return num; 368 | } 369 | } 370 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/share_term_table_footer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/src/main/res/drawable-hdpi/share_term_table_footer.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/share_term_table_header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/src/main/res/drawable-hdpi/share_term_table_header.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/app/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/select_label_ba.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/select_label_er.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/select_label_jiu.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/select_label_liu.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/select_label_qi.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/select_label_san.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/select_label_se.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/select_label_si.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/select_label_sss.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/select_label_sy.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/select_label_wu.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/select_label_wuw.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/select_label_yi.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/select_label_yiw.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/select_label_yiwu.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/tab_indicator_text.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 13 | 14 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/menu/main.xml: -------------------------------------------------------------------------------- 1 | 5 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/values-v11/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/values-v14/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 64dp 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/values/color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | #ffe6e6e6 5 | #333 6 | 7 | #8AD297 8 | #5ABF6C 9 | #F9A883 10 | #F79060 11 | #88CFCC 12 | #63C0BD 13 | #F19C99 14 | #ED837F 15 | #F7C56B 16 | #F5B94E 17 | #D2A596 18 | #CA9483 19 | #67BDDE 20 | #31A6D3 21 | #9CCF5A 22 | #8BC73D 23 | #9AB4CF 24 | #87A6C6 25 | #9AB4CF 26 | #87A6C6 27 | #E593AD 28 | #6DB69C 29 | #E593AD 30 | #DF7999 31 | #E2C38A 32 | #D6A858 33 | #B29FD2 34 | #997FC3 35 | #E2C490 36 | #DDB97B 37 | #7B7B7B 38 | #ADADAD 39 | #2DACA1 40 | #000000 41 | 42 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 16dp 5 | 16dp 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | TimeTable 5 | Hello world! 6 | Settings 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 14 | 15 | 16 | 19 | 27 | -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | repositories { 4 | jcenter() 5 | maven { 6 | url 'https://maven.google.com/' 7 | name 'Google' 8 | } 9 | } 10 | dependencies { 11 | classpath 'com.android.tools.build:gradle:3.0.1' 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | jcenter() 18 | maven { 19 | url 'https://maven.google.com/' 20 | name 'Google' 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /build/intermediates/dex-cache/cache.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | 16 | 17 | 18 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /build/intermediates/gradle_project_sync_data.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/build/intermediates/gradle_project_sync_data.bin -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shallcheek/TimeTableView/d446286c7ad41c2f9edc9b3aa3575460fb713a47/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Tue Jan 02 09:32:28 CST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip 7 | -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ############################################################################## 4 | ## 5 | ## Gradle start up script for UN*X 6 | ## 7 | ############################################################################## 8 | 9 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 10 | DEFAULT_JVM_OPTS="" 11 | 12 | APP_NAME="Gradle" 13 | APP_BASE_NAME=`basename "$0"` 14 | 15 | # Use the maximum available, or set MAX_FD != -1 to use that value. 16 | MAX_FD="maximum" 17 | 18 | warn ( ) { 19 | echo "$*" 20 | } 21 | 22 | die ( ) { 23 | echo 24 | echo "$*" 25 | echo 26 | exit 1 27 | } 28 | 29 | # OS specific support (must be 'true' or 'false'). 30 | cygwin=false 31 | msys=false 32 | darwin=false 33 | case "`uname`" in 34 | CYGWIN* ) 35 | cygwin=true 36 | ;; 37 | Darwin* ) 38 | darwin=true 39 | ;; 40 | MINGW* ) 41 | msys=true 42 | ;; 43 | esac 44 | 45 | # Attempt to set APP_HOME 46 | # Resolve links: $0 may be a link 47 | PRG="$0" 48 | # Need this for relative symlinks. 49 | while [ -h "$PRG" ] ; do 50 | ls=`ls -ld "$PRG"` 51 | link=`expr "$ls" : '.*-> \(.*\)$'` 52 | if expr "$link" : '/.*' > /dev/null; then 53 | PRG="$link" 54 | else 55 | PRG=`dirname "$PRG"`"/$link" 56 | fi 57 | done 58 | SAVED="`pwd`" 59 | cd "`dirname \"$PRG\"`/" >/dev/null 60 | APP_HOME="`pwd -P`" 61 | cd "$SAVED" >/dev/null 62 | 63 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 64 | 65 | # Determine the Java command to use to start the JVM. 66 | if [ -n "$JAVA_HOME" ] ; then 67 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 68 | # IBM's JDK on AIX uses strange locations for the executables 69 | JAVACMD="$JAVA_HOME/jre/sh/java" 70 | else 71 | JAVACMD="$JAVA_HOME/bin/java" 72 | fi 73 | if [ ! -x "$JAVACMD" ] ; then 74 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 75 | 76 | Please set the JAVA_HOME variable in your environment to match the 77 | location of your Java installation." 78 | fi 79 | else 80 | JAVACMD="java" 81 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 82 | 83 | Please set the JAVA_HOME variable in your environment to match the 84 | location of your Java installation." 85 | fi 86 | 87 | # Increase the maximum file descriptors if we can. 88 | if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then 89 | MAX_FD_LIMIT=`ulimit -H -n` 90 | if [ $? -eq 0 ] ; then 91 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 92 | MAX_FD="$MAX_FD_LIMIT" 93 | fi 94 | ulimit -n $MAX_FD 95 | if [ $? -ne 0 ] ; then 96 | warn "Could not set maximum file descriptor limit: $MAX_FD" 97 | fi 98 | else 99 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 100 | fi 101 | fi 102 | 103 | # For Darwin, add options to specify how the application appears in the dock 104 | if $darwin; then 105 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 106 | fi 107 | 108 | # For Cygwin, switch paths to Windows format before running java 109 | if $cygwin ; then 110 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` 111 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 112 | JAVACMD=`cygpath --unix "$JAVACMD"` 113 | 114 | # We build the pattern for arguments to be converted via cygpath 115 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 116 | SEP="" 117 | for dir in $ROOTDIRSRAW ; do 118 | ROOTDIRS="$ROOTDIRS$SEP$dir" 119 | SEP="|" 120 | done 121 | OURCYGPATTERN="(^($ROOTDIRS))" 122 | # Add a user-defined pattern to the cygpath arguments 123 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then 124 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 125 | fi 126 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 127 | i=0 128 | for arg in "$@" ; do 129 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 130 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 131 | 132 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 133 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 134 | else 135 | eval `echo args$i`="\"$arg\"" 136 | fi 137 | i=$((i+1)) 138 | done 139 | case $i in 140 | (0) set -- ;; 141 | (1) set -- "$args0" ;; 142 | (2) set -- "$args0" "$args1" ;; 143 | (3) set -- "$args0" "$args1" "$args2" ;; 144 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;; 145 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 146 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 147 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 148 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 149 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 150 | esac 151 | fi 152 | 153 | # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules 154 | function splitJvmOpts() { 155 | JVM_OPTS=("$@") 156 | } 157 | eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS 158 | JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" 159 | 160 | exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" 161 | -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- 1 | @if "%DEBUG%" == "" @echo off 2 | @rem ########################################################################## 3 | @rem 4 | @rem Gradle startup script for Windows 5 | @rem 6 | @rem ########################################################################## 7 | 8 | @rem Set local scope for the variables with windows NT shell 9 | if "%OS%"=="Windows_NT" setlocal 10 | 11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 12 | set DEFAULT_JVM_OPTS= 13 | 14 | set DIRNAME=%~dp0 15 | if "%DIRNAME%" == "" set DIRNAME=. 16 | set APP_BASE_NAME=%~n0 17 | set APP_HOME=%DIRNAME% 18 | 19 | @rem Find java.exe 20 | if defined JAVA_HOME goto findJavaFromJavaHome 21 | 22 | set JAVA_EXE=java.exe 23 | %JAVA_EXE% -version >NUL 2>&1 24 | if "%ERRORLEVEL%" == "0" goto init 25 | 26 | echo. 27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 28 | echo. 29 | echo Please set the JAVA_HOME variable in your environment to match the 30 | echo location of your Java installation. 31 | 32 | goto fail 33 | 34 | :findJavaFromJavaHome 35 | set JAVA_HOME=%JAVA_HOME:"=% 36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 37 | 38 | if exist "%JAVA_EXE%" goto init 39 | 40 | echo. 41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 42 | echo. 43 | echo Please set the JAVA_HOME variable in your environment to match the 44 | echo location of your Java installation. 45 | 46 | goto fail 47 | 48 | :init 49 | @rem Get command-line arguments, handling Windowz variants 50 | 51 | if not "%OS%" == "Windows_NT" goto win9xME_args 52 | if "%@eval[2+2]" == "4" goto 4NT_args 53 | 54 | :win9xME_args 55 | @rem Slurp the command line arguments. 56 | set CMD_LINE_ARGS= 57 | set _SKIP=2 58 | 59 | :win9xME_args_slurp 60 | if "x%~1" == "x" goto execute 61 | 62 | set CMD_LINE_ARGS=%* 63 | goto execute 64 | 65 | :4NT_args 66 | @rem Get arguments from the 4NT Shell from JP Software 67 | set CMD_LINE_ARGS=%$ 68 | 69 | :execute 70 | @rem Setup the command line 71 | 72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 73 | 74 | @rem Execute Gradle 75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% 76 | 77 | :end 78 | @rem End local scope for the variables with windows NT shell 79 | if "%ERRORLEVEL%"=="0" goto mainEnd 80 | 81 | :fail 82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 83 | rem the _cmd.exe /c_ return code! 84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 85 | exit /b 1 86 | 87 | :mainEnd 88 | if "%OS%"=="Windows_NT" endlocal 89 | 90 | :omega 91 | -------------------------------------------------------------------------------- /import-summary.txt: -------------------------------------------------------------------------------- 1 | ECLIPSE ANDROID PROJECT IMPORT SUMMARY 2 | ====================================== 3 | 4 | Ignored Files: 5 | -------------- 6 | The following files were *not* copied into the new Gradle project; you 7 | should evaluate whether these are still needed in your project and if 8 | so manually move them: 9 | 10 | * ic_launcher-web.png 11 | * proguard-project.txt 12 | 13 | Replaced Jars with Dependencies: 14 | -------------------------------- 15 | The importer recognized the following .jar files as third party 16 | libraries and replaced them with Gradle dependencies instead. This has 17 | the advantage that more explicit version information is known, and the 18 | libraries can be updated automatically. However, it is possible that 19 | the .jar file in your project was of an older version than the 20 | dependency we picked, which could render the project not compileable. 21 | You can disable the jar replacement in the import wizard and try again: 22 | 23 | android-support-v4.jar => com.android.support:support-v4:21.0.3 24 | 25 | Moved Files: 26 | ------------ 27 | Android Gradle projects use a different directory structure than ADT 28 | Eclipse projects. Here's how the projects were restructured: 29 | 30 | * AndroidManifest.xml => app\src\main\AndroidManifest.xml 31 | * assets\ => app\src\main\assets 32 | * lint.xml => app\lint.xml 33 | * res\ => app\src\main\res\ 34 | * src\ => app\src\main\java\ 35 | 36 | Next Steps: 37 | ----------- 38 | You can now build the project. The Gradle project needs network 39 | connectivity to download dependencies. 40 | 41 | Bugs: 42 | ----- 43 | If for some reason your project does not build, and you determine that 44 | it is due to a bug or limitation of the Eclipse to Gradle importer, 45 | please file a bug at http://b.android.com with category 46 | Component-Tools. 47 | 48 | (This import summary is for your information only, and can be deleted 49 | after import once you are satisfied with the results.) 50 | -------------------------------------------------------------------------------- /local.properties: -------------------------------------------------------------------------------- 1 | ## This file is automatically generated by Android Studio. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must *NOT* be checked into Version Control Systems, 5 | # as it contains information specific to your local configuration. 6 | # 7 | # Location of the SDK. This is only used by Gradle. 8 | # For customization when using a Version Control System, please read the 9 | # header note. 10 | #Tue Jan 02 09:19:03 CST 2018 11 | ndk.dir=D\:\\Android\\sdk\\ndk-bundle 12 | sdk.dir=D\:\\Android\\sdk 13 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | --------------------------------------------------------------------------------