├── CandyCrush.doc ├── README.md ├── 消消乐.mp4 └── 源代码 └── CandyCrush ├── .gitignore ├── .idea ├── .name ├── codeStyles │ └── Project.xml ├── gradle.xml ├── jarRepositories.xml ├── misc.xml ├── render.experimental.xml └── runConfigurations.xml ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── xample │ │ └── candycrush │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── xample │ │ │ └── candycrush │ │ │ ├── MainActivity.java │ │ │ ├── OnSwipeListener.java │ │ │ └── activity │ │ │ ├── AboutActivity.java │ │ │ ├── HelpActivity.java │ │ │ ├── LoginActivity.java │ │ │ ├── RegisterActivity.java │ │ │ ├── SplashActivity.java │ │ │ └── VolumeActivity.java │ └── res │ │ ├── drawable-v24 │ │ ├── exp_13.jpg │ │ ├── exp_7.jpg │ │ ├── ic_assignment_late_grey600_24dp.png │ │ ├── ic_baseline_settings.xml │ │ ├── ic_help_grey600_24dp.png │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ ├── again.xml │ │ ├── baack.jpg │ │ ├── back.jpg │ │ ├── back2.jpg │ │ ├── back3.png │ │ ├── back4.jpg │ │ ├── back_music.jpg │ │ ├── bluecandy.jpg │ │ ├── default_user_logo.png │ │ ├── exp_8.jpg │ │ ├── garden1.jpg │ │ ├── garden2.jpg │ │ ├── garden3.png │ │ ├── garden4.jpg │ │ ├── greencandy.jpg │ │ ├── head1.jpg │ │ ├── ic_launcher_background.xml │ │ ├── ic_menu_camera.xml │ │ ├── ic_menu_gallery.xml │ │ ├── ic_menu_manage.xml │ │ ├── ic_menu_send.xml │ │ ├── ic_menu_share.xml │ │ ├── ic_menu_slideshow.xml │ │ ├── login.jpg │ │ ├── material_design_2.png │ │ ├── orangecandy.jpg │ │ ├── purplecandy.jpg │ │ ├── redcandy.jpg │ │ ├── side_nav_bar.xml │ │ ├── splash_background.jpg │ │ ├── splash_enter.png │ │ ├── start.png │ │ ├── tab_icon1.png │ │ ├── tab_icon2.png │ │ ├── tab_icon3.png │ │ ├── tab_icon4.png │ │ ├── transparent.xml │ │ ├── user_reg.png │ │ ├── volum.xml │ │ └── yellowcandy.jpg │ │ ├── font │ │ ├── aclonica.xml │ │ ├── amita.xml │ │ ├── miaowu.ttf │ │ └── the_girl_next_door.xml │ │ ├── layout │ │ ├── activity_about.xml │ │ ├── activity_help.xml │ │ ├── activity_login.xml │ │ ├── activity_main.xml │ │ ├── activity_register.xml │ │ ├── activity_splash.xml │ │ ├── activity_volume.xml │ │ ├── app_bar_main.xml │ │ ├── content_main.xml │ │ └── nav_header_main.xml │ │ ├── menu │ │ ├── activity_main_drawer.xml │ │ └── main.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── default_user_logo.png │ │ ├── ic_launcher.png │ │ ├── ic_launcher_round.png │ │ └── material_design_2.png │ │ ├── mipmap-mdpi │ │ ├── a1.png │ │ ├── bg2.png │ │ ├── ic_launcher.png │ │ ├── ic_launcher_round.png │ │ ├── icon_last.png │ │ ├── icon_next.png │ │ ├── icon_pause.png │ │ ├── icon_play.png │ │ └── icon_song.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── raw │ │ ├── a.mp3 │ │ ├── abc.mp3 │ │ └── b.mp3 │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── font_certs.xml │ │ ├── preloaded_fonts.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ └── java │ └── com │ └── xample │ └── candycrush │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle /CandyCrush.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/CandyCrush.doc -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Android_CandyCrush 2 | 移动应用基础期末大作业——简易消消乐 3 | 4 | 1. 登录注册 5 | 1)引导页面,3s进入登录注册页面。 6 | 2)登录界面,先注册新用户。然后返回登录界面。密码不符合会报错,密码正确会进入主界面。 7 | ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210119102439697.png) 8 | 9 | 图3.1.1 登陆注册 10 | 11 | 2. 登录成功进入主页面 12 | 1)消消乐页面,重新开始积分清零,连三个记3分。 13 | ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210119102640227.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzQ4MjI3OQ==,size_16,color_FFFFFF,t_70) 14 | 15 | 图3.2.1 消消乐 16 | 2)设置。单选背景音乐,音乐开关和调节音量均正常。 17 | ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210119102621148.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzQ4MjI3OQ==,size_16,color_FFFFFF,t_70) 18 | 19 | 图3.2.2 设置 20 | 21 | 3)可以将成绩进行分享。 22 | ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210119102551576.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzQ4MjI3OQ==,size_16,color_FFFFFF,t_70) 23 | 24 | 图3.2.3 分享 25 | 26 | 4)帮助和关于为两个展示页面,跳转正常。 27 | ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210119102524963.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzQ4MjI3OQ==,size_16,color_FFFFFF,t_70) 28 | 29 | 图3.2.4 帮助和关于 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /消消乐.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/消消乐.mp4 -------------------------------------------------------------------------------- /源代码/CandyCrush/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | -------------------------------------------------------------------------------- /源代码/CandyCrush/.idea/.name: -------------------------------------------------------------------------------- 1 | Candy Crush -------------------------------------------------------------------------------- /源代码/CandyCrush/.idea/codeStyles/Project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | xmlns:android 14 | 15 | ^$ 16 | 17 | 18 | 19 |
20 |
21 | 22 | 23 | 24 | xmlns:.* 25 | 26 | ^$ 27 | 28 | 29 | BY_NAME 30 | 31 |
32 |
33 | 34 | 35 | 36 | .*:id 37 | 38 | http://schemas.android.com/apk/res/android 39 | 40 | 41 | 42 |
43 |
44 | 45 | 46 | 47 | .*:name 48 | 49 | http://schemas.android.com/apk/res/android 50 | 51 | 52 | 53 |
54 |
55 | 56 | 57 | 58 | name 59 | 60 | ^$ 61 | 62 | 63 | 64 |
65 |
66 | 67 | 68 | 69 | style 70 | 71 | ^$ 72 | 73 | 74 | 75 |
76 |
77 | 78 | 79 | 80 | .* 81 | 82 | ^$ 83 | 84 | 85 | BY_NAME 86 | 87 |
88 |
89 | 90 | 91 | 92 | .* 93 | 94 | http://schemas.android.com/apk/res/android 95 | 96 | 97 | ANDROID_ATTRIBUTE_ORDER 98 | 99 |
100 |
101 | 102 | 103 | 104 | .* 105 | 106 | .* 107 | 108 | 109 | BY_NAME 110 | 111 |
112 |
113 |
114 |
115 |
116 |
-------------------------------------------------------------------------------- /源代码/CandyCrush/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 20 | 21 | -------------------------------------------------------------------------------- /源代码/CandyCrush/.idea/jarRepositories.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 9 | 10 | 14 | 15 | 19 | 20 | 24 | 25 | -------------------------------------------------------------------------------- /源代码/CandyCrush/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | -------------------------------------------------------------------------------- /源代码/CandyCrush/.idea/render.experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /源代码/CandyCrush/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /源代码/CandyCrush/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /源代码/CandyCrush/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 30 5 | buildToolsVersion "30.0.2" 6 | 7 | defaultConfig { 8 | applicationId "com.xample.candycrush" 9 | minSdkVersion 23 10 | targetSdkVersion 30 11 | versionCode 1 12 | versionName "1.0" 13 | 14 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 15 | } 16 | 17 | buildTypes { 18 | release { 19 | minifyEnabled false 20 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 21 | } 22 | } 23 | } 24 | 25 | dependencies { 26 | implementation fileTree(dir: "libs", include: ["*.jar"]) 27 | implementation 'androidx.appcompat:appcompat:1.2.0' 28 | implementation 'androidx.constraintlayout:constraintlayout:2.0.4' 29 | implementation 'androidx.coordinatorlayout:coordinatorlayout:1.1.0' 30 | implementation 'androidx.navigation:navigation-fragment:2.3.1' 31 | implementation 'androidx.navigation:navigation-ui:2.3.1' 32 | implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' 33 | implementation 'com.google.android.material:material:1.2.1' 34 | implementation 'androidx.legacy:legacy-support-v4:1.0.0' 35 | implementation 'androidx.cardview:cardview:1.0.0' 36 | implementation 'androidx.recyclerview:recyclerview:1.1.0' 37 | testImplementation 'junit:junit:4.12' 38 | androidTestImplementation 'androidx.test.ext:junit:1.1.2' 39 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' 40 | 41 | } -------------------------------------------------------------------------------- /源代码/CandyCrush/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/androidTest/java/com/xample/candycrush/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.xample.candycrush; 2 | 3 | import android.content.Context; 4 | 5 | import androidx.test.platform.app.InstrumentationRegistry; 6 | import androidx.test.ext.junit.runners.AndroidJUnit4; 7 | 8 | import org.junit.Test; 9 | import org.junit.runner.RunWith; 10 | 11 | import static org.junit.Assert.*; 12 | 13 | /** 14 | * Instrumented test, which will execute on an Android device. 15 | * 16 | * @see Testing documentation 17 | */ 18 | @RunWith(AndroidJUnit4.class) 19 | public class ExampleInstrumentedTest { 20 | @Test 21 | public void useAppContext() { 22 | // Context of the app under test. 23 | Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); 24 | assertEquals("com.xample.candycrush", appContext.getPackageName()); 25 | } 26 | } -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 14 | 17 | 18 | 21 | 22 | 25 | 26 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 38 | 39 | 43 | 44 | 48 | 49 | 50 | 51 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/java/com/xample/candycrush/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.xample.candycrush; 2 | 3 | import androidx.appcompat.app.AppCompatActivity; 4 | import android.content.Intent; 5 | import android.os.Bundle; 6 | import android.os.Handler; 7 | import android.util.DisplayMetrics; 8 | import android.view.Menu; 9 | import android.view.MenuItem; 10 | import android.view.View; 11 | import android.widget.GridLayout; 12 | import android.widget.ImageView; 13 | import android.widget.TextView; 14 | 15 | import androidx.core.view.GravityCompat; 16 | import androidx.drawerlayout.widget.DrawerLayout; 17 | 18 | import com.google.android.material.navigation.NavigationView; 19 | import com.xample.candycrush.activity.AboutActivity; 20 | import com.xample.candycrush.activity.HelpActivity; 21 | import com.xample.candycrush.activity.VolumeActivity; 22 | 23 | import java.util.ArrayList; 24 | import java.util.Arrays; 25 | import java.util.List; 26 | 27 | public class MainActivity extends AppCompatActivity 28 | implements NavigationView.OnNavigationItemSelectedListener{ 29 | int[] candies = { 30 | R.drawable.bluecandy, 31 | R.drawable.greencandy, 32 | R.drawable.orangecandy, 33 | R.drawable.purplecandy, 34 | R.drawable.yellowcandy, 35 | R.drawable.redcandy, 36 | }; 37 | int widthOfBlock, noOfBlocks = 8, widthOfScreen; 38 | ArrayList candy = new ArrayList<>(); 39 | int candyToBeDragged,candyToBeReplaced; 40 | int notCandy = R.drawable.transparent; 41 | Handler mHandler; 42 | int interval = 200; 43 | TextView scoreResult; 44 | int score = 0; 45 | @Override 46 | protected void onCreate(Bundle savedInstanceState) { 47 | super.onCreate(savedInstanceState); 48 | setContentView(R.layout.activity_main); 49 | 50 | NavigationView navigationView = findViewById(R.id.nav_view); 51 | navigationView.setNavigationItemSelectedListener(this); 52 | 53 | scoreResult = findViewById(R.id.score); 54 | DisplayMetrics displayMetrics = new DisplayMetrics(); 55 | getWindowManager().getDefaultDisplay().getRealMetrics(displayMetrics); 56 | widthOfScreen = displayMetrics.widthPixels; 57 | widthOfBlock = widthOfScreen / noOfBlocks; 58 | createBoard(); 59 | for(final ImageView imageView : candy) { 60 | imageView.setOnTouchListener(new OnSwipeListener(this) 61 | { 62 | @Override 63 | public void onSwipeLeft() { 64 | super.onSwipeLeft(); 65 | // Toast.makeText(MainActivity.this, "Left", Toast.LENGTH_SHORT).show(); 66 | candyToBeDragged = imageView.getId(); 67 | candyToBeReplaced = candyToBeDragged - 1; 68 | candyInterchange(); 69 | } 70 | @Override 71 | public void onSwipeRight() { 72 | super.onSwipeRight(); 73 | // Toast.makeText(MainActivity.this, "Right", Toast.LENGTH_SHORT).show(); 74 | candyToBeDragged = imageView.getId(); 75 | candyToBeReplaced = candyToBeDragged + 1; 76 | candyInterchange(); 77 | } 78 | @Override 79 | public void onSwipeTop() { 80 | super.onSwipeTop(); 81 | candyToBeDragged = imageView.getId(); 82 | candyToBeReplaced = candyToBeDragged - noOfBlocks; 83 | candyInterchange(); 84 | } 85 | @Override 86 | public void onSwipeBottom() { 87 | super.onSwipeBottom(); 88 | candyToBeDragged = imageView.getId(); 89 | candyToBeReplaced = candyToBeDragged + noOfBlocks; 90 | candyInterchange(); 91 | } 92 | 93 | }); 94 | } 95 | mHandler = new Handler(); 96 | startRepeat(); 97 | 98 | findViewById(R.id.bt).setOnClickListener(new View.OnClickListener() { 99 | @Override 100 | public void onClick(View v) { 101 | scoreResult.setText("0"); 102 | score = 0; 103 | } 104 | }); 105 | } 106 | 107 | private void checkRawForThree() { 108 | for (int i = 0; i < 62; i++) { 109 | int chosedCandy = (int) candy.get(i).getTag(); 110 | boolean isBlank = (int)candy.get(i).getTag() == notCandy; 111 | Integer[] notValid = {6, 7, 14, 15, 22, 23, 30, 31, 38, 39, 46, 47, 54, 55}; 112 | List list = Arrays.asList(notValid); 113 | if (!list.contains(i)) { 114 | int x = i; 115 | if ((int)candy.get(x++).getTag() == chosedCandy && !isBlank && 116 | (int)candy.get(x++).getTag() == chosedCandy && 117 | (int)candy.get(x).getTag() == chosedCandy) { 118 | score = score + 3; 119 | scoreResult.setText(String.valueOf(score)); 120 | candy.get(x).setImageResource(notCandy); 121 | candy.get(x).setTag(notCandy); 122 | x--; 123 | candy.get(x).setImageResource(notCandy); 124 | candy.get(x).setTag(notCandy); 125 | x--; 126 | candy.get(x).setImageResource(notCandy); 127 | candy.get(x).setTag(notCandy); 128 | } 129 | } 130 | } 131 | moveDownCandies(); 132 | } 133 | 134 | private void checkColumnForThree() { 135 | for (int i = 0; i < 47; i++) { 136 | int chosedCandy = (int) candy.get(i).getTag(); 137 | boolean isBlank = (int)candy.get(i).getTag() == notCandy; 138 | int x = i; 139 | if ((int)candy.get(x).getTag() == chosedCandy && !isBlank && 140 | (int)candy.get(x+noOfBlocks).getTag() == chosedCandy && 141 | (int)candy.get(x+2*noOfBlocks).getTag() == chosedCandy) { 142 | score = score + 3; 143 | scoreResult.setText(String.valueOf(score)); 144 | candy.get(x).setImageResource(notCandy); 145 | candy.get(x).setTag(notCandy); 146 | x = x + noOfBlocks; 147 | candy.get(x).setImageResource(notCandy); 148 | candy.get(x).setTag(notCandy); 149 | x = x + noOfBlocks; 150 | candy.get(x).setImageResource(notCandy); 151 | candy.get(x).setTag(notCandy); 152 | } 153 | } 154 | moveDownCandies(); 155 | } 156 | 157 | private void moveDownCandies() { 158 | Integer[] firstRow = {0,1,2,3,4,5,6,7}; 159 | List list = Arrays.asList(firstRow); 160 | for (int i = 55; i >= 0; i--) { 161 | if ((int)candy.get(i + noOfBlocks).getTag() == notCandy) { 162 | candy.get(i + noOfBlocks).setImageResource((int)candy.get(i).getTag()); 163 | candy.get(i + noOfBlocks).setTag(candy.get(i).getTag()); 164 | candy.get(i).setImageResource(notCandy); 165 | candy.get(i).setTag(notCandy); 166 | if (list.contains(i) && (int)candy.get(i).getTag() == notCandy) { 167 | int randomColor = (int)Math.floor(Math.random() * candies.length); 168 | candy.get(i).setImageResource(candies[randomColor]); 169 | candy.get(i).setTag(candies[randomColor]); 170 | } 171 | } 172 | } 173 | for (int i = 0; i < 8; i++) { 174 | if ((int)candy.get(i).getTag() == notCandy) { 175 | int randomColor = (int)Math.floor(Math.random() * candies.length); 176 | candy.get(i).setImageResource(candies[randomColor]); 177 | candy.get(i).setTag(candies[randomColor]); 178 | } 179 | } 180 | 181 | } 182 | Runnable repeatChecker = new Runnable() { 183 | @Override 184 | public void run() { 185 | try { 186 | checkRawForThree(); 187 | checkColumnForThree(); 188 | moveDownCandies(); 189 | } finally { 190 | mHandler.postDelayed(repeatChecker, interval); 191 | } 192 | } 193 | }; 194 | void startRepeat() { 195 | repeatChecker.run(); 196 | } 197 | private void candyInterchange() { 198 | int background = (int) candy.get(candyToBeReplaced).getTag(); 199 | int background1 = (int) candy.get(candyToBeDragged).getTag(); 200 | candy.get(candyToBeDragged).setImageResource(background); 201 | candy.get(candyToBeReplaced).setImageResource(background1); 202 | candy.get(candyToBeDragged).setTag(background); 203 | candy.get(candyToBeReplaced).setTag(background1); 204 | } 205 | 206 | private void createBoard() { 207 | GridLayout gridLayout = findViewById(R.id.board); 208 | // 设置8x8的网格块数 209 | gridLayout.setRowCount(noOfBlocks); 210 | gridLayout.setColumnCount(noOfBlocks); 211 | // 正方形布局 212 | gridLayout.getLayoutParams().width = widthOfScreen; 213 | gridLayout.getLayoutParams().height = widthOfScreen; 214 | for (int i = 0; i < noOfBlocks * noOfBlocks; i++) { 215 | ImageView imageView = new ImageView(this); 216 | 217 | imageView.setId(i); 218 | imageView.setLayoutParams(new 219 | android.view.ViewGroup.LayoutParams(widthOfBlock,widthOfBlock)); 220 | // 最大的图像视图的高度和宽带 221 | imageView.setMaxHeight(widthOfBlock); 222 | imageView.setMaxWidth(widthOfBlock); 223 | // 产生一个介于0和candies.length的长度的随机索引 224 | int randonCandy = (int) Math.floor(Math.random() * candies.length); 225 | // 使用随机索引来随机设置图像资源 226 | imageView.setImageResource(candies[randonCandy]); 227 | // 将标记获取为整数,然后将其存储在整数中 228 | imageView.setTag(candies[randonCandy]); 229 | candy.add(imageView); 230 | // 添加视图图像显示 231 | gridLayout.addView(imageView); 232 | } 233 | } 234 | @Override 235 | public void onBackPressed() { 236 | DrawerLayout drawer = findViewById(R.id.drawer_layout); 237 | if (drawer.isDrawerOpen(GravityCompat.START)) { 238 | drawer.closeDrawer(GravityCompat.START); 239 | } else { 240 | super.onBackPressed(); 241 | } 242 | } 243 | 244 | @Override 245 | public boolean onCreateOptionsMenu(Menu menu) { 246 | // Inflate the menu; this adds items to the action bar if it is present. 247 | getMenuInflater().inflate(R.menu.main, menu); 248 | return true; 249 | } 250 | 251 | @SuppressWarnings("StatementWithEmptyBody") 252 | @Override 253 | public boolean onNavigationItemSelected(MenuItem item) { 254 | // Handle navigation view item clicks here. 255 | int id = item.getItemId(); 256 | 257 | if (id == R.id.nav_gallery) { 258 | // 设置 259 | Intent in = new Intent(this, VolumeActivity.class); 260 | startActivity(in); 261 | } else if (id == R.id.nav_help) { 262 | //帮助页面 263 | Intent intent = new Intent(this, HelpActivity.class); 264 | startActivity(intent); 265 | } else if (id == R.id.nav_about) { 266 | // 关于 267 | Intent intent = new Intent(this, AboutActivity.class); 268 | startActivity(intent); 269 | 270 | } else if (id == R.id.nav_share) { 271 | // 分享 272 | // 生成分享的文字信息 273 | String s = String.valueOf(scoreResult); 274 | 275 | // 将文字信息分享到其他应用 276 | Intent in = new Intent(Intent.ACTION_SEND); 277 | in.setType("text/plain"); 278 | in.putExtra(Intent.EXTRA_TEXT,s); 279 | startActivity(in); 280 | } 281 | 282 | DrawerLayout drawer = findViewById(R.id.drawer_layout); 283 | drawer.closeDrawer(GravityCompat.START); 284 | return true; 285 | } 286 | 287 | } -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/java/com/xample/candycrush/OnSwipeListener.java: -------------------------------------------------------------------------------- 1 | package com.xample.candycrush; 2 | 3 | import android.content.Context; 4 | import android.view.GestureDetector; 5 | import android.view.MotionEvent; 6 | import android.view.View; 7 | 8 | public class OnSwipeListener implements View.OnTouchListener { 9 | public GestureDetector gestureDetector; // 创建手势检测器变量 10 | @Override 11 | public boolean onTouch(View v, MotionEvent event) { 12 | return gestureDetector.onTouchEvent(event); 13 | } 14 | public OnSwipeListener(Context context) { 15 | // 初始化手势检测器 16 | gestureDetector = new GestureDetector(context, new GestureListener()); 17 | } 18 | private final class GestureListener extends GestureDetector.SimpleOnGestureListener { 19 | public static final int SWIPE_THRESOLD =100; 20 | public static final int SWIPE_VELOCITY_THRESOLD =100; 21 | 22 | @Override 23 | public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { 24 | boolean result = false; 25 | float yDiff = e2.getY() - e1.getY(); 26 | float xDiff = e2.getX() - e1.getX(); 27 | if (Math.abs(xDiff) > Math.abs(yDiff)) { 28 | // 我们解除在水平方向上或者垂直方向上的权利 29 | if (Math.abs(xDiff) > SWIPE_THRESOLD && 30 | Math.abs(velocityX) > SWIPE_VELOCITY_THRESOLD) { 31 | if (xDiff > 0) { 32 | onSwipeRight(); 33 | } else { 34 | onSwipeLeft(); 35 | } 36 | result = true; 37 | } 38 | } else if (Math.abs(yDiff) > SWIPE_THRESOLD && 39 | Math.abs(velocityY) > SWIPE_VELOCITY_THRESOLD) { 40 | if (yDiff > 0) { 41 | onSwipeBottom(); 42 | } else { 43 | onSwipeTop(); 44 | } 45 | result = true; 46 | } 47 | return result; 48 | } 49 | 50 | @Override 51 | public boolean onDown(MotionEvent e) { 52 | return true; 53 | } 54 | } 55 | 56 | public void onSwipeLeft(){} 57 | public void onSwipeRight(){} 58 | public void onSwipeTop(){} 59 | public void onSwipeBottom(){} 60 | } 61 | -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/java/com/xample/candycrush/activity/AboutActivity.java: -------------------------------------------------------------------------------- 1 | package com.xample.candycrush.activity; 2 | 3 | import android.os.Bundle; 4 | 5 | import androidx.appcompat.app.AppCompatActivity; 6 | 7 | import com.xample.candycrush.R; 8 | 9 | 10 | /** 11 | * 关于软件 12 | * @author androiddev@163.com,hnjdzy 13 | */ 14 | public class AboutActivity extends AppCompatActivity { 15 | 16 | @Override 17 | protected void onCreate(Bundle savedInstanceState) { 18 | super.onCreate(savedInstanceState); 19 | setContentView(R.layout.activity_about); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/java/com/xample/candycrush/activity/HelpActivity.java: -------------------------------------------------------------------------------- 1 | package com.xample.candycrush.activity; 2 | 3 | import android.os.Bundle; 4 | 5 | import androidx.appcompat.app.AppCompatActivity; 6 | 7 | import com.xample.candycrush.R; 8 | 9 | 10 | /** 11 | * 帮助 12 | * @author androiddev@163.com,hnjdzy 13 | */ 14 | public class HelpActivity extends AppCompatActivity { 15 | 16 | @Override 17 | protected void onCreate(Bundle savedInstanceState) { 18 | super.onCreate(savedInstanceState); 19 | setContentView(R.layout.activity_help); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/java/com/xample/candycrush/activity/LoginActivity.java: -------------------------------------------------------------------------------- 1 | package com.xample.candycrush.activity; 2 | 3 | import android.content.Context; 4 | import android.content.Intent; 5 | import android.content.SharedPreferences; 6 | import android.os.Bundle; 7 | import android.view.View; 8 | import android.widget.Button; 9 | import android.widget.EditText; 10 | import android.widget.TextView; 11 | import android.widget.Toast; 12 | 13 | import androidx.appcompat.app.AppCompatActivity; 14 | 15 | import com.xample.candycrush.MainActivity; 16 | import com.xample.candycrush.R; 17 | 18 | 19 | public class LoginActivity extends AppCompatActivity { 20 | Button btnLogin; 21 | EditText editTextName,editTextPwd; 22 | TextView textViewRegister; 23 | @Override 24 | protected void onCreate(Bundle savedInstanceState) { 25 | super.onCreate(savedInstanceState); 26 | setContentView(R.layout.activity_login); 27 | btnLogin = findViewById(R.id.buttonLogin); 28 | editTextName = findViewById(R.id.editTextName); 29 | editTextPwd = findViewById(R.id.editTextPassword); 30 | textViewRegister = findViewById(R.id.textViewRegister); 31 | btnLogin.setOnClickListener(new View.OnClickListener() { 32 | @Override 33 | public void onClick(View view) { 34 | login(); 35 | } 36 | }); 37 | textViewRegister.setOnClickListener(new View.OnClickListener() { 38 | @Override 39 | public void onClick(View view) { 40 | register(); 41 | } 42 | }); 43 | 44 | SharedPreferences sp = this.getSharedPreferences("candycrush", Context.MODE_PRIVATE); 45 | String name = sp.getString("name",null); 46 | editTextName.setText(name); 47 | 48 | } 49 | 50 | private void register() { 51 | Intent in = new Intent(); 52 | in.setClass(this,RegisterActivity.class); 53 | startActivity(in); 54 | } 55 | 56 | private void login() { 57 | String name = editTextName.getText().toString(); 58 | String pwd = editTextPwd.getText().toString(); 59 | 60 | SharedPreferences sp = this.getSharedPreferences("candycrush",Context.MODE_PRIVATE); 61 | String password = sp.getString("password",null); 62 | 63 | if (password==null || !pwd.equals(password)) { 64 | Toast.makeText(this,"登录失败!",Toast.LENGTH_LONG).show(); 65 | 66 | } else { 67 | this.finish(); 68 | Intent in = new Intent(this, MainActivity.class); 69 | startActivity(in); 70 | } 71 | } 72 | 73 | } -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/java/com/xample/candycrush/activity/RegisterActivity.java: -------------------------------------------------------------------------------- 1 | package com.xample.candycrush.activity; 2 | 3 | import android.content.Context; 4 | import android.content.Intent; 5 | import android.content.SharedPreferences; 6 | import android.os.Bundle; 7 | import android.view.View; 8 | import android.widget.Button; 9 | import android.widget.EditText; 10 | import android.widget.Toast; 11 | 12 | import androidx.appcompat.app.AppCompatActivity; 13 | 14 | import com.xample.candycrush.R; 15 | 16 | public class RegisterActivity extends AppCompatActivity { 17 | 18 | @Override 19 | protected void onCreate(Bundle savedInstanceState) { 20 | super.onCreate(savedInstanceState); 21 | setContentView(R.layout.activity_register); 22 | Button buttonRegister = this.findViewById(R.id.buttonRegister); 23 | buttonRegister.setOnClickListener(new View.OnClickListener() { 24 | @Override 25 | public void onClick(View v) { 26 | register(); 27 | } 28 | }); 29 | 30 | } 31 | 32 | private void register() { 33 | EditText editTextName = findViewById(R.id.editTextName); 34 | EditText editTextPassword = findViewById(R.id.editTextPassword); 35 | EditText editTextPassword2 = findViewById(R.id.editTextPassword2); 36 | EditText editTextPrompt = findViewById(R.id.editTextPrompt); 37 | 38 | String name = editTextName.getText().toString(); 39 | if (name.length() < 1) { 40 | Toast.makeText(this,"昵称不能为空",Toast.LENGTH_LONG).show(); 41 | return; 42 | } 43 | String pwd = editTextPassword.getText().toString(); 44 | String pwd2 = editTextPassword2.getText().toString(); 45 | if (pwd.length() < 1) { 46 | Toast.makeText(this,"密码不能为空",Toast.LENGTH_LONG).show(); 47 | return; 48 | } 49 | if (!pwd.equals(pwd2)) { 50 | Toast.makeText(this,"两次密码不一致",Toast.LENGTH_LONG).show(); 51 | return; 52 | } 53 | String prompt = editTextPrompt.getText().toString(); 54 | SharedPreferences sp = this.getSharedPreferences("candycrush", Context.MODE_PRIVATE); 55 | SharedPreferences.Editor editor = sp.edit(); 56 | editor.putString("name",name); 57 | editor.putString("password",pwd); 58 | editor.putString("prompt",prompt); 59 | editor.apply(); 60 | finish(); 61 | Intent in = new Intent(this, LoginActivity.class); 62 | startActivity(in); 63 | } 64 | } -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/java/com/xample/candycrush/activity/SplashActivity.java: -------------------------------------------------------------------------------- 1 | package com.xample.candycrush.activity; 2 | 3 | import android.content.Intent; 4 | import android.os.Bundle; 5 | import android.os.Handler; 6 | import android.os.Message; 7 | 8 | import androidx.annotation.NonNull; 9 | import androidx.appcompat.app.AppCompatActivity; 10 | 11 | import com.xample.candycrush.R; 12 | 13 | 14 | public class SplashActivity extends AppCompatActivity { 15 | 16 | private static final int MSG1 = 1; 17 | private Handler myHandler; 18 | @Override 19 | protected void onCreate(Bundle savedInstanceState) { 20 | super.onCreate(savedInstanceState); 21 | setContentView(R.layout.activity_splash); 22 | 23 | myHandler = new Handler() { 24 | @Override 25 | public void handleMessage(@NonNull Message msg) { 26 | switch (msg.what) { 27 | case MSG1: 28 | Intent in = new Intent(SplashActivity.this,LoginActivity.class); 29 | startActivity(in); 30 | } 31 | } 32 | }; 33 | 34 | // 创建线程并启动 35 | Thread t = new Thread(new MyThread()); 36 | t.start(); 37 | } 38 | 39 | // 线程的Runnable接口类 40 | class MyThread implements Runnable { 41 | 42 | @Override 43 | public void run() { 44 | try { 45 | Thread.sleep(3000); 46 | } catch (InterruptedException e) { 47 | e.printStackTrace(); 48 | } 49 | myHandler.sendEmptyMessage(MSG1); 50 | } 51 | } 52 | } -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/java/com/xample/candycrush/activity/VolumeActivity.java: -------------------------------------------------------------------------------- 1 | package com.xample.candycrush.activity; 2 | 3 | import androidx.appcompat.app.AppCompatActivity; 4 | import android.content.Context; 5 | import android.media.AudioManager; 6 | import android.media.MediaPlayer; 7 | import android.os.Bundle; 8 | import android.view.View; 9 | import android.widget.CompoundButton; 10 | import android.widget.RadioGroup; 11 | import android.widget.Switch; 12 | import com.xample.candycrush.R; 13 | 14 | 15 | public class VolumeActivity extends AppCompatActivity { 16 | AudioManager am; 17 | MediaPlayer player1, player2, player3; 18 | Switch aSwitch; 19 | Boolean isPause = false; // 是否暂停 20 | int id; 21 | @Override 22 | protected void onCreate(Bundle savedInstanceState) { 23 | super.onCreate(savedInstanceState); 24 | setContentView(R.layout.activity_volume); 25 | 26 | // 获取系统级服务 27 | am = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 28 | player1=MediaPlayer.create(VolumeActivity.this, R.raw.b); 29 | player2=MediaPlayer.create(VolumeActivity.this, R.raw.a); 30 | player3=MediaPlayer.create(VolumeActivity.this, R.raw.abc); 31 | 32 | RadioGroup rg = findViewById(R.id.rg); 33 | rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener(){ 34 | @Override 35 | public void onCheckedChanged(RadioGroup radioGroup, int i) { 36 | if (i == R.id.radioButton1) { 37 | id = 0; 38 | play1(); 39 | } else if (i == R.id.radioButton2) { 40 | id = 1; 41 | play2(); 42 | } else if (i == R.id.radioButton3) { 43 | id = 2; 44 | play3(); 45 | } 46 | } 47 | }); 48 | 49 | aSwitch = findViewById(R.id.switch1); 50 | aSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 51 | @Override 52 | public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 53 | if (isChecked){ 54 | switch (id) { 55 | case 0: 56 | player1.start(); 57 | break; 58 | case 1: 59 | player2.start(); 60 | break; 61 | case 2: 62 | player3.start(); 63 | break; 64 | } 65 | } 66 | else { 67 | switch (id) { 68 | case 0: 69 | player1.pause(); 70 | break; 71 | case 1: 72 | player2.pause(); 73 | break; 74 | case 2: 75 | player3.pause(); 76 | break; 77 | } 78 | } 79 | 80 | } 81 | }); 82 | findViewById(R.id.button4).setOnClickListener(new View.OnClickListener() { 83 | @Override 84 | public void onClick(View v) { 85 | am.setStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, 86 | AudioManager.FLAG_SHOW_UI); 87 | } 88 | }); 89 | } 90 | private void play1(){ 91 | try{ 92 | if (player2.isPlaying()) { 93 | player2.pause(); 94 | } 95 | if (player3.isPlaying()) { 96 | player3.pause(); 97 | } 98 | player1.start();//开始播放 99 | }catch(Exception e){ 100 | e.printStackTrace();//输出异常信息 101 | } 102 | } 103 | private void play2(){ 104 | try{ 105 | if (player1.isPlaying()) { 106 | player1.pause(); 107 | } 108 | if (player3.isPlaying()) { 109 | player3.pause(); 110 | } 111 | player2.start();//开始播放 112 | }catch(Exception e){ 113 | e.printStackTrace();//输出异常信息 114 | } 115 | }private void play3(){ 116 | try{ 117 | if (player1.isPlaying()) { 118 | player1.pause(); 119 | } 120 | if (player2.isPlaying()) { 121 | player2.pause(); 122 | } 123 | player3.start();//开始播放 124 | }catch(Exception e){ 125 | e.printStackTrace();//输出异常信息 126 | } 127 | } 128 | 129 | } -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable-v24/exp_13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable-v24/exp_13.jpg -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable-v24/exp_7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable-v24/exp_7.jpg -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable-v24/ic_assignment_late_grey600_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable-v24/ic_assignment_late_grey600_24dp.png -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable-v24/ic_baseline_settings.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable-v24/ic_help_grey600_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable-v24/ic_help_grey600_24dp.png -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 15 | 18 | 21 | 22 | 23 | 24 | 30 | -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/again.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/baack.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/baack.jpg -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/back.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/back.jpg -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/back2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/back2.jpg -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/back3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/back3.png -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/back4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/back4.jpg -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/back_music.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/back_music.jpg -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/bluecandy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/bluecandy.jpg -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/default_user_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/default_user_logo.png -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/exp_8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/exp_8.jpg -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/garden1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/garden1.jpg -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/garden2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/garden2.jpg -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/garden3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/garden3.png -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/garden4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/garden4.jpg -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/greencandy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/greencandy.jpg -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/head1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/head1.jpg -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | 50 | 55 | 60 | 65 | 70 | 75 | 80 | 85 | 90 | 95 | 100 | 105 | 110 | 115 | 120 | 125 | 130 | 135 | 140 | 145 | 150 | 155 | 160 | 165 | 170 | 171 | -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/ic_menu_camera.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/ic_menu_gallery.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/ic_menu_manage.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/ic_menu_send.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/ic_menu_share.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/ic_menu_slideshow.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/login.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/login.jpg -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/material_design_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/material_design_2.png -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/orangecandy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/orangecandy.jpg -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/purplecandy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/purplecandy.jpg -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/redcandy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/redcandy.jpg -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/side_nav_bar.xml: -------------------------------------------------------------------------------- 1 | 3 | 9 | -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/splash_background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/splash_background.jpg -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/splash_enter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/splash_enter.png -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/start.png -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/tab_icon1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/tab_icon1.png -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/tab_icon2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/tab_icon2.png -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/tab_icon3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/tab_icon3.png -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/tab_icon4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/tab_icon4.png -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/transparent.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/user_reg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/user_reg.png -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/volum.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/drawable/yellowcandy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/drawable/yellowcandy.jpg -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/font/aclonica.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/font/amita.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/font/miaowu.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/two-fire/Android_CandyCrush/f873b23c7406169329342f733c6d380aec15b727/源代码/CandyCrush/app/src/main/res/font/miaowu.ttf -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/font/the_girl_next_door.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/layout/activity_about.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 37 | 38 | 47 | 48 | 57 | 58 | 67 | 68 | 69 | 70 | -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/layout/activity_help.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 20 | 21 | 28 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /源代码/CandyCrush/app/src/main/res/layout/activity_login.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | 17 | 18 | 23 | 24 | 25 | 32 | 33 | 40 | 41 | 49 | 50 | 57 | 58 | 66 | 67 | 68 |