Commit b4a2140e7266c771444e644ffed29e16b03a597a
0 parents
Exists in
master
登录,注册 ,忘记密码,修改密码,更换手机号等。。界面
Showing
72 changed files
with
2581 additions
and
0 deletions
Show diff stats
.gitignore
... | ... | @@ -0,0 +1,15 @@ |
1 | +# 忽略 /CallTecher/app/build/ 目录下的所有文件 | |
2 | +CallTecher/app/build/ | |
3 | + | |
4 | +# 忽略 /CallTecher/.idea/ 目录下的所有文件 | |
5 | +CallTecher/.idea/ | |
6 | + | |
7 | +# 忽略 /CallTecher/.gradle/ 目录下的所有文件 | |
8 | +CallTecher/.gradle/ | |
9 | + | |
10 | +# 忽略 /CallTecher/build/ 目录下的所有文件 | |
11 | +CallTecher/build/ | |
12 | + | |
13 | +# 忽略 /CallTecher/ZBLibrary/build/ 目录下的所有文件 | |
14 | +CallTecher/ZBLibrary/build/ | |
15 | + | ... | ... |
PersonalCenter/.gitignore
PersonalCenter/.idea/compiler.xml
... | ... | @@ -0,0 +1,22 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<project version="4"> | |
3 | + <component name="CompilerConfiguration"> | |
4 | + <resourceExtensions /> | |
5 | + <wildcardResourcePatterns> | |
6 | + <entry name="!?*.java" /> | |
7 | + <entry name="!?*.form" /> | |
8 | + <entry name="!?*.class" /> | |
9 | + <entry name="!?*.groovy" /> | |
10 | + <entry name="!?*.scala" /> | |
11 | + <entry name="!?*.flex" /> | |
12 | + <entry name="!?*.kt" /> | |
13 | + <entry name="!?*.clj" /> | |
14 | + <entry name="!?*.aj" /> | |
15 | + </wildcardResourcePatterns> | |
16 | + <annotationProcessing> | |
17 | + <profile default="true" name="Default" enabled="false"> | |
18 | + <processorPath useClasspath="true" /> | |
19 | + </profile> | |
20 | + </annotationProcessing> | |
21 | + </component> | |
22 | +</project> | |
0 | 23 | \ No newline at end of file | ... | ... |
PersonalCenter/.idea/copyright/profiles_settings.xml
PersonalCenter/.idea/gradle.xml
... | ... | @@ -0,0 +1,18 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<project version="4"> | |
3 | + <component name="GradleSettings"> | |
4 | + <option name="linkedExternalProjectsSettings"> | |
5 | + <GradleProjectSettings> | |
6 | + <option name="distributionType" value="DEFAULT_WRAPPED" /> | |
7 | + <option name="externalProjectPath" value="$PROJECT_DIR$" /> | |
8 | + <option name="modules"> | |
9 | + <set> | |
10 | + <option value="$PROJECT_DIR$" /> | |
11 | + <option value="$PROJECT_DIR$/app" /> | |
12 | + </set> | |
13 | + </option> | |
14 | + <option name="resolveModulePerSourceSet" value="false" /> | |
15 | + </GradleProjectSettings> | |
16 | + </option> | |
17 | + </component> | |
18 | +</project> | |
0 | 19 | \ No newline at end of file | ... | ... |
PersonalCenter/.idea/misc.xml
... | ... | @@ -0,0 +1,62 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<project version="4"> | |
3 | + <component name="EntryPointsManager"> | |
4 | + <entry_points version="2.0" /> | |
5 | + </component> | |
6 | + <component name="NullableNotNullManager"> | |
7 | + <option name="myDefaultNullable" value="android.support.annotation.Nullable" /> | |
8 | + <option name="myDefaultNotNull" value="android.support.annotation.NonNull" /> | |
9 | + <option name="myNullables"> | |
10 | + <value> | |
11 | + <list size="4"> | |
12 | + <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" /> | |
13 | + <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" /> | |
14 | + <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" /> | |
15 | + <item index="3" class="java.lang.String" itemvalue="android.support.annotation.Nullable" /> | |
16 | + </list> | |
17 | + </value> | |
18 | + </option> | |
19 | + <option name="myNotNulls"> | |
20 | + <value> | |
21 | + <list size="4"> | |
22 | + <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" /> | |
23 | + <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" /> | |
24 | + <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" /> | |
25 | + <item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" /> | |
26 | + </list> | |
27 | + </value> | |
28 | + </option> | |
29 | + </component> | |
30 | + <component name="ProjectLevelVcsManager" settingsEditedManually="false"> | |
31 | + <OptionsSetting value="true" id="Add" /> | |
32 | + <OptionsSetting value="true" id="Remove" /> | |
33 | + <OptionsSetting value="true" id="Checkout" /> | |
34 | + <OptionsSetting value="true" id="Update" /> | |
35 | + <OptionsSetting value="true" id="Status" /> | |
36 | + <OptionsSetting value="true" id="Edit" /> | |
37 | + <ConfirmationsSetting value="0" id="Add" /> | |
38 | + <ConfirmationsSetting value="0" id="Remove" /> | |
39 | + </component> | |
40 | + <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK"> | |
41 | + <output url="file://$PROJECT_DIR$/build/classes" /> | |
42 | + </component> | |
43 | + <component name="ProjectType"> | |
44 | + <option name="id" value="Android" /> | |
45 | + </component> | |
46 | + <component name="masterDetails"> | |
47 | + <states> | |
48 | + <state key="ProjectJDKs.UI"> | |
49 | + <settings> | |
50 | + <last-edited>1.8</last-edited> | |
51 | + <splitter-proportions> | |
52 | + <option name="proportions"> | |
53 | + <list> | |
54 | + <option value="0.2" /> | |
55 | + </list> | |
56 | + </option> | |
57 | + </splitter-proportions> | |
58 | + </settings> | |
59 | + </state> | |
60 | + </states> | |
61 | + </component> | |
62 | +</project> | |
0 | 63 | \ No newline at end of file | ... | ... |
PersonalCenter/.idea/modules.xml
... | ... | @@ -0,0 +1,9 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<project version="4"> | |
3 | + <component name="ProjectModuleManager"> | |
4 | + <modules> | |
5 | + <module fileurl="file://$PROJECT_DIR$/PersonalCenter.iml" filepath="$PROJECT_DIR$/PersonalCenter.iml" /> | |
6 | + <module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" /> | |
7 | + </modules> | |
8 | + </component> | |
9 | +</project> | |
0 | 10 | \ No newline at end of file | ... | ... |
PersonalCenter/.idea/runConfigurations.xml
... | ... | @@ -0,0 +1,12 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<project version="4"> | |
3 | + <component name="RunConfigurationProducerService"> | |
4 | + <option name="ignoredProducers"> | |
5 | + <set> | |
6 | + <option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" /> | |
7 | + <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" /> | |
8 | + <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" /> | |
9 | + </set> | |
10 | + </option> | |
11 | + </component> | |
12 | +</project> | |
0 | 13 | \ No newline at end of file | ... | ... |
PersonalCenter/app/.gitignore
... | ... | @@ -0,0 +1 @@ |
1 | +/build | ... | ... |
PersonalCenter/app/build.gradle
... | ... | @@ -0,0 +1,29 @@ |
1 | +apply plugin: 'com.android.application' | |
2 | + | |
3 | +android { | |
4 | + compileSdkVersion 25 | |
5 | + buildToolsVersion "25.0.3" | |
6 | + defaultConfig { | |
7 | + applicationId "com.hjx.personalcenter" | |
8 | + minSdkVersion 9 | |
9 | + targetSdkVersion 25 | |
10 | + versionCode 1 | |
11 | + versionName "1.0" | |
12 | + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" | |
13 | + } | |
14 | + buildTypes { | |
15 | + release { | |
16 | + minifyEnabled false | |
17 | + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' | |
18 | + } | |
19 | + } | |
20 | +} | |
21 | + | |
22 | +dependencies { | |
23 | + compile fileTree(dir: 'libs', include: ['*.jar']) | |
24 | + androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { | |
25 | + exclude group: 'com.android.support', module: 'support-annotations' | |
26 | + }) | |
27 | + compile 'com.android.support:appcompat-v7:25.3.1' | |
28 | + testCompile 'junit:junit:4.12' | |
29 | +} | ... | ... |
PersonalCenter/app/proguard-rules.pro
... | ... | @@ -0,0 +1,17 @@ |
1 | +# Add project specific ProGuard rules here. | |
2 | +# By default, the flags in this file are appended to flags specified | |
3 | +# in C:\Users\h\AppData\Local\Android\Sdk/tools/proguard/proguard-android.txt | |
4 | +# You can edit the include path and order by changing the proguardFiles | |
5 | +# directive in build.gradle. | |
6 | +# | |
7 | +# For more details, see | |
8 | +# http://developer.android.com/guide/developing/tools/proguard.html | |
9 | + | |
10 | +# Add any project specific keep options here: | |
11 | + | |
12 | +# If your project uses WebView with JS, uncomment the following | |
13 | +# and specify the fully qualified class name to the JavaScript interface | |
14 | +# class: | |
15 | +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { | |
16 | +# public *; | |
17 | +#} | ... | ... |
PersonalCenter/app/src/androidTest/java/com/hjx/personalcenter/ExampleInstrumentedTest.java
... | ... | @@ -0,0 +1,26 @@ |
1 | +package com.hjx.personalcenter; | |
2 | + | |
3 | +import android.content.Context; | |
4 | +import android.support.test.InstrumentationRegistry; | |
5 | +import android.support.test.runner.AndroidJUnit4; | |
6 | + | |
7 | +import org.junit.Test; | |
8 | +import org.junit.runner.RunWith; | |
9 | + | |
10 | +import static org.junit.Assert.*; | |
11 | + | |
12 | +/** | |
13 | + * Instrumentation test, which will execute on an Android device. | |
14 | + * | |
15 | + * @see <a href="http://d.android.com/tools/testing">Testing documentation</a> | |
16 | + */ | |
17 | +@RunWith(AndroidJUnit4.class) | |
18 | +public class ExampleInstrumentedTest { | |
19 | + @Test | |
20 | + public void useAppContext() throws Exception { | |
21 | + // Context of the app under test. | |
22 | + Context appContext = InstrumentationRegistry.getTargetContext(); | |
23 | + | |
24 | + assertEquals("com.hjx.personalcenter", appContext.getPackageName()); | |
25 | + } | |
26 | +} | ... | ... |
PersonalCenter/app/src/main/AndroidManifest.xml
... | ... | @@ -0,0 +1,71 @@ |
1 | +<?xml version="1.0" encoding="utf-8"?> | |
2 | +<manifest xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + package="com.hjx.personalcenter"> | |
4 | + | |
5 | + <application | |
6 | + android:allowBackup="true" | |
7 | + android:icon="@mipmap/ic_launcher" | |
8 | + android:label="@string/app_name" | |
9 | + android:supportsRtl="true" | |
10 | + android:theme="@style/Theme.AppCompat.NoActionBar"> | |
11 | + <activity | |
12 | + android:name=".activity.MainActivity" | |
13 | + android:launchMode="singleTask" | |
14 | + android:screenOrientation="landscape"> | |
15 | + <intent-filter> | |
16 | + <action android:name="android.intent.action.MAIN" /> | |
17 | + | |
18 | + <category android:name="android.intent.category.LAUNCHER" /> | |
19 | + </intent-filter> | |
20 | + </activity> | |
21 | + <activity | |
22 | + android:name=".activity.LoginAndRegisterActivity" | |
23 | + android:launchMode="singleTask" | |
24 | + android:screenOrientation="landscape"> | |
25 | + | |
26 | + </activity> | |
27 | + <activity | |
28 | + android:name=".activity.ForgotPasswordActivity" | |
29 | + android:launchMode="singleTask" | |
30 | + android:screenOrientation="landscape"> | |
31 | + | |
32 | + </activity> | |
33 | + <activity | |
34 | + android:name=".activity.ChangePasswordActivity" | |
35 | + android:launchMode="singleTask" | |
36 | + android:screenOrientation="landscape"> | |
37 | + | |
38 | + </activity> | |
39 | + <activity | |
40 | + android:name=".activity.RegisterInfoActivity" | |
41 | + android:launchMode="singleTask" | |
42 | + android:screenOrientation="landscape"> | |
43 | + | |
44 | + </activity> | |
45 | + <activity | |
46 | + android:name=".activity.ElectronicCardValidationActivity" | |
47 | + android:launchMode="singleTask" | |
48 | + android:screenOrientation="landscape"> | |
49 | + | |
50 | + </activity> | |
51 | + <activity | |
52 | + android:name=".activity.ChangeBangDingActivity" | |
53 | + android:launchMode="singleTask" | |
54 | + android:screenOrientation="landscape"> | |
55 | + | |
56 | + </activity> | |
57 | + <activity | |
58 | + android:name=".activity.ChangeElectronicCardInfoActivity" | |
59 | + android:launchMode="singleTask" | |
60 | + android:screenOrientation="landscape"> | |
61 | + | |
62 | + </activity> | |
63 | + <activity | |
64 | + android:name=".activity.ChangeEletronicCardPhone" | |
65 | + android:launchMode="singleTask" | |
66 | + android:screenOrientation="landscape"> | |
67 | + | |
68 | + </activity> | |
69 | + </application> | |
70 | + | |
71 | +</manifest> | |
0 | 72 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangeBangDingActivity.java
... | ... | @@ -0,0 +1,18 @@ |
1 | +package com.hjx.personalcenter.activity; | |
2 | + | |
3 | +import android.app.Activity; | |
4 | +import android.os.Bundle; | |
5 | + | |
6 | +import com.hjx.personalcenter.R; | |
7 | + | |
8 | +/** | |
9 | + * Created by h on 2017/8/9. | |
10 | + */ | |
11 | + | |
12 | +public class ChangeBangDingActivity extends Activity { | |
13 | + @Override | |
14 | + protected void onCreate(Bundle savedInstanceState) { | |
15 | + super.onCreate(savedInstanceState); | |
16 | + setContentView(R.layout.activity_chage_binding); | |
17 | + } | |
18 | +} | ... | ... |
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangeElectronicCardInfoActivity.java
... | ... | @@ -0,0 +1,18 @@ |
1 | +package com.hjx.personalcenter.activity; | |
2 | + | |
3 | +import android.app.Activity; | |
4 | +import android.os.Bundle; | |
5 | + | |
6 | +import com.hjx.personalcenter.R; | |
7 | + | |
8 | +/** | |
9 | + * Created by h on 2017/8/9. | |
10 | + */ | |
11 | + | |
12 | +public class ChangeElectronicCardInfoActivity extends Activity{ | |
13 | + @Override | |
14 | + protected void onCreate(Bundle savedInstanceState) { | |
15 | + super.onCreate(savedInstanceState); | |
16 | + setContentView(R.layout.activity_change_card_info); | |
17 | + } | |
18 | +} | ... | ... |
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangeEletronicCardPhone.java
... | ... | @@ -0,0 +1,18 @@ |
1 | +package com.hjx.personalcenter.activity; | |
2 | + | |
3 | +import android.app.Activity; | |
4 | +import android.os.Bundle; | |
5 | + | |
6 | +import com.hjx.personalcenter.R; | |
7 | + | |
8 | +/** | |
9 | + * Created by h on 2017/8/9. | |
10 | + */ | |
11 | + | |
12 | +public class ChangeEletronicCardPhone extends Activity { | |
13 | + @Override | |
14 | + protected void onCreate(Bundle savedInstanceState) { | |
15 | + super.onCreate(savedInstanceState); | |
16 | + setContentView(R.layout.activity_electronicard_phone); | |
17 | + } | |
18 | +} | ... | ... |
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangePasswordActivity.java
... | ... | @@ -0,0 +1,18 @@ |
1 | +package com.hjx.personalcenter.activity; | |
2 | + | |
3 | +import android.app.Activity; | |
4 | +import android.os.Bundle; | |
5 | + | |
6 | +import com.hjx.personalcenter.R; | |
7 | + | |
8 | +/** | |
9 | + * Created by h on 2017/8/9. | |
10 | + */ | |
11 | + | |
12 | +public class ChangePasswordActivity extends Activity { | |
13 | + @Override | |
14 | + protected void onCreate(Bundle savedInstanceState) { | |
15 | + super.onCreate(savedInstanceState); | |
16 | + setContentView(R.layout.activity_changepsword); | |
17 | + } | |
18 | +} | ... | ... |
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ElectronicCardValidationActivity.java
... | ... | @@ -0,0 +1,18 @@ |
1 | +package com.hjx.personalcenter.activity; | |
2 | + | |
3 | +import android.app.Activity; | |
4 | +import android.os.Bundle; | |
5 | + | |
6 | +import com.hjx.personalcenter.R; | |
7 | + | |
8 | +/** | |
9 | + * Created by h on 2017/8/9. | |
10 | + */ | |
11 | + | |
12 | +public class ElectronicCardValidationActivity extends Activity { | |
13 | + @Override | |
14 | + protected void onCreate(Bundle savedInstanceState) { | |
15 | + super.onCreate(savedInstanceState); | |
16 | + setContentView(R.layout.activity_electroniccard_validation); | |
17 | + } | |
18 | +} | ... | ... |
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ForgotPasswordActivity.java
... | ... | @@ -0,0 +1,18 @@ |
1 | +package com.hjx.personalcenter.activity; | |
2 | + | |
3 | +import android.app.Activity; | |
4 | +import android.os.Bundle; | |
5 | + | |
6 | +import com.hjx.personalcenter.R; | |
7 | + | |
8 | +/** | |
9 | + * Created by h on 2017/8/9. | |
10 | + */ | |
11 | + | |
12 | +public class ForgotPasswordActivity extends Activity { | |
13 | + @Override | |
14 | + protected void onCreate(Bundle savedInstanceState) { | |
15 | + super.onCreate(savedInstanceState); | |
16 | + setContentView(R.layout.activity_forgetpsword); | |
17 | + } | |
18 | +} | ... | ... |
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/LoginAndRegisterActivity.java
... | ... | @@ -0,0 +1,72 @@ |
1 | +package com.hjx.personalcenter.activity; | |
2 | + | |
3 | +import android.os.Bundle; | |
4 | +import android.support.annotation.Nullable; | |
5 | +import android.support.v4.app.Fragment; | |
6 | +import android.support.v4.view.ViewPager; | |
7 | +import android.support.v7.app.AppCompatActivity; | |
8 | + | |
9 | +import com.hjx.personalcenter.R; | |
10 | +import com.hjx.personalcenter.adapter.LoginAndRegisterAdapter; | |
11 | +import com.hjx.personalcenter.fragment.RegisterFragment; | |
12 | +import com.hjx.personalcenter.fragment.LoginFragment; | |
13 | +import com.hjx.personalcenter.thirdparty.SlidingTabLayout; | |
14 | + | |
15 | +import java.util.ArrayList; | |
16 | +import java.util.Arrays; | |
17 | +import java.util.List; | |
18 | + | |
19 | +/** | |
20 | + * 登录和注册 熊巍 | |
21 | + * Created by h on 2017/8/8. | |
22 | + */ | |
23 | + | |
24 | +public class LoginAndRegisterActivity extends AppCompatActivity { | |
25 | + private ViewPager viewPager; | |
26 | + private SlidingTabLayout tableLayout; | |
27 | + private List<Fragment> loginlist; | |
28 | + private LoginAndRegisterAdapter logindapter; | |
29 | + private List<String> title = Arrays.asList("登录", "注册"); | |
30 | + | |
31 | + @Override | |
32 | + protected void onCreate(@Nullable Bundle savedInstanceState) { | |
33 | + super.onCreate(savedInstanceState); | |
34 | + setContentView(R.layout.activity_loginandregister); | |
35 | + initView(); | |
36 | + initData(); | |
37 | + setLister(); | |
38 | + } | |
39 | + | |
40 | + private void initView() { | |
41 | + viewPager = (ViewPager) findViewById(R.id.viewpager_login); | |
42 | + tableLayout = (SlidingTabLayout) findViewById(R.id.TabLayout_id); | |
43 | + } | |
44 | + | |
45 | + private void initData() { | |
46 | + loginlist = new ArrayList<>(); | |
47 | + for (int i = 0; i < title.size(); i++) { | |
48 | + if (title.get(i).equals("登录")) { | |
49 | + loginlist.add(LoginFragment.newInstance(i + 1)); | |
50 | + } else { | |
51 | + loginlist.add(RegisterFragment.newInstance(i + 1)); | |
52 | + } | |
53 | + } | |
54 | + | |
55 | + | |
56 | + //设置Tab上的标题 | |
57 | + tableLayout.setData(title); | |
58 | + //设置关联的ViewPager | |
59 | + tableLayout.setViewPager(viewPager, 0); | |
60 | + logindapter = new LoginAndRegisterAdapter(loginlist, getSupportFragmentManager()); | |
61 | + //给ViewPager设置适配器 | |
62 | + viewPager.setAdapter(logindapter); | |
63 | + //设置滑动时数据不丢失 | |
64 | + viewPager.setOffscreenPageLimit(1); | |
65 | + //将TabLayout和ViewPager关联起来。 | |
66 | + } | |
67 | + | |
68 | + private void setLister() { | |
69 | + } | |
70 | + | |
71 | + | |
72 | +} | ... | ... |
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/MainActivity.java
... | ... | @@ -0,0 +1,26 @@ |
1 | +package com.hjx.personalcenter.activity; | |
2 | + | |
3 | +import android.content.Intent; | |
4 | +import android.support.v7.app.AppCompatActivity; | |
5 | +import android.os.Bundle; | |
6 | +import android.view.View; | |
7 | +import android.widget.TextView; | |
8 | + | |
9 | +import com.hjx.personalcenter.R; | |
10 | + | |
11 | +public class MainActivity extends AppCompatActivity { | |
12 | + TextView ssss; | |
13 | + @Override | |
14 | + protected void onCreate(Bundle savedInstanceState) { | |
15 | + super.onCreate(savedInstanceState); | |
16 | + setContentView(R.layout.activity_main); | |
17 | + ssss = (TextView) findViewById(R.id.ssss); | |
18 | + ssss.setOnClickListener(new View.OnClickListener() { | |
19 | + @Override | |
20 | + public void onClick(View v) { | |
21 | + Intent intent = new Intent(MainActivity.this,LoginAndRegisterActivity.class); | |
22 | + startActivity(intent); | |
23 | + } | |
24 | + }); | |
25 | + } | |
26 | +} | ... | ... |
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/RegisterInfoActivity.java
... | ... | @@ -0,0 +1,84 @@ |
1 | +package com.hjx.personalcenter.activity; | |
2 | + | |
3 | +import android.app.Activity; | |
4 | +import android.app.AlertDialog; | |
5 | +import android.content.DialogInterface; | |
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 com.hjx.personalcenter.R; | |
14 | + | |
15 | +/**填写注册信息 熊巍 | |
16 | + * Created by h on 2017/8/9. | |
17 | + */ | |
18 | + | |
19 | +public class RegisterInfoActivity extends Activity implements View.OnClickListener { | |
20 | + private EditText et_username; | |
21 | + private TextView et_region,et_grade,et_school; | |
22 | + private Button btn_ok; | |
23 | + String[] items; | |
24 | + | |
25 | + @Override | |
26 | + protected void onCreate(Bundle savedInstanceState) { | |
27 | + super.onCreate(savedInstanceState); | |
28 | + setContentView(R.layout.activity_registerinfo); | |
29 | + initView(); | |
30 | + initData(); | |
31 | + initLister(); | |
32 | + } | |
33 | + | |
34 | + private void initView() { | |
35 | + et_username = (EditText) findViewById(R.id.et_username); | |
36 | + et_region = (TextView) findViewById(R.id.et_region); | |
37 | + et_grade = (TextView) findViewById(R.id.et_grade); | |
38 | + et_school = (TextView) findViewById(R.id.et_school); | |
39 | + btn_ok = (Button) findViewById(R.id.btn_ok); | |
40 | + | |
41 | + | |
42 | + } | |
43 | + | |
44 | + private void initData() { | |
45 | + items = new String[] { "魏", "蜀", "吴" }; | |
46 | + | |
47 | + } | |
48 | + | |
49 | + private void initLister() { | |
50 | + et_region.setOnClickListener(this); | |
51 | + et_grade.setOnClickListener(this); | |
52 | + et_school.setOnClickListener(this); | |
53 | + | |
54 | + | |
55 | + } | |
56 | + | |
57 | + @Override | |
58 | + public void onClick(View v) { | |
59 | + switch (v.getId()){ | |
60 | + case R.id.et_region: | |
61 | + break; | |
62 | + case R.id.et_grade: | |
63 | + choisegrade(); | |
64 | + break; | |
65 | + case R.id.et_school: | |
66 | + break; | |
67 | + case R.id.btn_ok: | |
68 | + break; | |
69 | + } | |
70 | + | |
71 | + } | |
72 | + | |
73 | + private void choisegrade() { | |
74 | + AlertDialog dialog = new AlertDialog.Builder(this) | |
75 | + .setTitle("选择年级") | |
76 | + .setItems(items, new DialogInterface.OnClickListener() { | |
77 | + @Override | |
78 | + public void onClick(DialogInterface dialog, int which) { | |
79 | + Toast.makeText(RegisterInfoActivity.this, items[which], Toast.LENGTH_SHORT).show(); | |
80 | + } | |
81 | + }).create(); | |
82 | + dialog.show(); | |
83 | + } | |
84 | +} | ... | ... |
PersonalCenter/app/src/main/java/com/hjx/personalcenter/adapter/LoginAndRegisterAdapter.java
... | ... | @@ -0,0 +1,31 @@ |
1 | +package com.hjx.personalcenter.adapter; | |
2 | + | |
3 | +import android.support.v4.app.Fragment; | |
4 | +import android.support.v4.app.FragmentManager; | |
5 | +import android.support.v4.app.FragmentPagerAdapter; | |
6 | + | |
7 | +import java.util.List; | |
8 | + | |
9 | +/** | |
10 | + * Created by Administrator on 2016/11/7. | |
11 | + */ | |
12 | + | |
13 | +public class LoginAndRegisterAdapter extends FragmentPagerAdapter { | |
14 | + private List<Fragment> list; | |
15 | + | |
16 | + public LoginAndRegisterAdapter(List<Fragment> list, FragmentManager fragmentManager) { | |
17 | + super(fragmentManager); | |
18 | + this.list = list; | |
19 | + } | |
20 | + | |
21 | + @Override | |
22 | + public int getCount() { | |
23 | + return list.size(); | |
24 | + } | |
25 | + | |
26 | + @Override | |
27 | + public Fragment getItem(int position) { | |
28 | + return list.get(position); | |
29 | + } | |
30 | + | |
31 | +} | ... | ... |
PersonalCenter/app/src/main/java/com/hjx/personalcenter/fragment/LoginFragment.java
... | ... | @@ -0,0 +1,71 @@ |
1 | +package com.hjx.personalcenter.fragment; | |
2 | + | |
3 | +import android.content.Intent; | |
4 | +import android.os.Bundle; | |
5 | +import android.support.annotation.Nullable; | |
6 | +import android.support.v4.app.Fragment; | |
7 | +import android.view.LayoutInflater; | |
8 | +import android.view.View; | |
9 | +import android.view.ViewGroup; | |
10 | +import android.widget.TextView; | |
11 | + | |
12 | +import com.hjx.personalcenter.R; | |
13 | +import com.hjx.personalcenter.activity.ForgotPasswordActivity; | |
14 | + | |
15 | +/** | |
16 | + * 登录 | |
17 | + * Created by h on 2017/8/8. | |
18 | + */ | |
19 | + | |
20 | +public class LoginFragment extends Fragment implements View.OnClickListener { | |
21 | + private View mView; | |
22 | + private int type; | |
23 | + private TextView tv_forget_pwd; | |
24 | + public static String TABLAYOUT_FRAGMENT = "tab_fragment"; | |
25 | + | |
26 | + public static LoginFragment newInstance(int type) { | |
27 | + LoginFragment fragment = new LoginFragment(); | |
28 | + Bundle bundle = new Bundle(); | |
29 | + bundle.putSerializable(TABLAYOUT_FRAGMENT, type); | |
30 | + fragment.setArguments(bundle); | |
31 | + return fragment; | |
32 | + | |
33 | + } | |
34 | + | |
35 | + @Override | |
36 | + public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { | |
37 | + if (mView == null) { | |
38 | + mView = inflater.inflate(R.layout.fragment_loginandregister_login, container, false); | |
39 | + initView(mView); | |
40 | + initData(); | |
41 | + setLister(); | |
42 | + | |
43 | + | |
44 | + } | |
45 | + return mView; | |
46 | + } | |
47 | + //初始化 | |
48 | + private void initView(View mView) { | |
49 | + tv_forget_pwd = (TextView) mView.findViewById(R.id.tv_forget_pwd); | |
50 | + | |
51 | + } | |
52 | + private void initData() { | |
53 | + } | |
54 | + private void setLister() { | |
55 | + tv_forget_pwd.setOnClickListener(this); | |
56 | + } | |
57 | + | |
58 | + | |
59 | + @Override | |
60 | + public void onClick(View v) { | |
61 | + switch (v.getId()){ | |
62 | + case R.id.tv_forget_pwd: | |
63 | + Intent intent = new Intent(); | |
64 | + intent.setClass(getActivity(),ForgotPasswordActivity.class); | |
65 | + startActivity(intent); | |
66 | + getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout); | |
67 | + break; | |
68 | + } | |
69 | + | |
70 | + } | |
71 | +} | ... | ... |
PersonalCenter/app/src/main/java/com/hjx/personalcenter/fragment/RegisterFragment.java
... | ... | @@ -0,0 +1,70 @@ |
1 | +package com.hjx.personalcenter.fragment; | |
2 | + | |
3 | +import android.content.Intent; | |
4 | +import android.os.Bundle; | |
5 | +import android.support.annotation.Nullable; | |
6 | +import android.support.v4.app.Fragment; | |
7 | +import android.view.LayoutInflater; | |
8 | +import android.view.View; | |
9 | +import android.view.ViewGroup; | |
10 | +import android.widget.Button; | |
11 | + | |
12 | +import com.hjx.personalcenter.R; | |
13 | +import com.hjx.personalcenter.activity.RegisterInfoActivity; | |
14 | + | |
15 | +/** | |
16 | + * 注册 | |
17 | + * Created by Administrator on 2016/11/7. | |
18 | + */ | |
19 | + | |
20 | +public class RegisterFragment extends Fragment implements View.OnClickListener { | |
21 | + private View mView; | |
22 | + private Button btn_register; | |
23 | + private int type; | |
24 | + public static String TABLAYOUT_FRAGMENT = "tab_fragment"; | |
25 | + | |
26 | + public static RegisterFragment newInstance(int type) { | |
27 | + RegisterFragment fragment = new RegisterFragment(); | |
28 | + Bundle bundle = new Bundle(); | |
29 | + bundle.putSerializable(TABLAYOUT_FRAGMENT, type); | |
30 | + fragment.setArguments(bundle); | |
31 | + return fragment; | |
32 | + | |
33 | + } | |
34 | + @Override | |
35 | + public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { | |
36 | + if (mView == null) { | |
37 | + mView = inflater.inflate(R.layout.fragment_loginandregister_register, container, false); | |
38 | + initView(mView); | |
39 | + initData(); | |
40 | + setLister(); | |
41 | + | |
42 | + | |
43 | + } | |
44 | + return mView; | |
45 | + } | |
46 | + | |
47 | + private void initView(View mView) { | |
48 | + btn_register = (Button) mView.findViewById(R.id.btn_register); | |
49 | + | |
50 | + } | |
51 | + private void initData() { | |
52 | + } | |
53 | + private void setLister() { | |
54 | + btn_register.setOnClickListener(this); | |
55 | + } | |
56 | + | |
57 | + | |
58 | + @Override | |
59 | + public void onClick(View v) { | |
60 | + switch (v.getId()){ | |
61 | + case R.id.btn_register: | |
62 | + Intent intent = new Intent(); | |
63 | + intent.setClass(getActivity(),RegisterInfoActivity.class); | |
64 | + startActivity(intent); | |
65 | + getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout); | |
66 | + break; | |
67 | + } | |
68 | + | |
69 | + } | |
70 | +} | ... | ... |
PersonalCenter/app/src/main/java/com/hjx/personalcenter/thirdparty/SlidingTabLayout.java
... | ... | @@ -0,0 +1,304 @@ |
1 | +package com.hjx.personalcenter.thirdparty; | |
2 | + | |
3 | +import android.content.Context; | |
4 | +import android.graphics.Bitmap; | |
5 | +import android.graphics.BitmapFactory; | |
6 | +import android.graphics.Canvas; | |
7 | +import android.support.v4.view.ViewPager; | |
8 | +import android.support.v4.view.ViewPager.OnPageChangeListener; | |
9 | +import android.util.AttributeSet; | |
10 | +import android.util.DisplayMetrics; | |
11 | +import android.util.TypedValue; | |
12 | +import android.view.Gravity; | |
13 | +import android.view.View; | |
14 | +import android.view.WindowManager; | |
15 | +import android.widget.HorizontalScrollView; | |
16 | +import android.widget.LinearLayout; | |
17 | +import android.widget.TextView; | |
18 | + | |
19 | +import com.hjx.personalcenter.R; | |
20 | + | |
21 | +import java.util.List; | |
22 | + | |
23 | +/** | |
24 | + * 首页滑动条 | |
25 | + * | |
26 | + * @author gaok | |
27 | + * @date 2017/7/6 | |
28 | + */ | |
29 | +public class SlidingTabLayout extends HorizontalScrollView { | |
30 | + private Context mContext; | |
31 | + private int selection = 0; | |
32 | + /** | |
33 | + * tab容器 | |
34 | + */ | |
35 | + private LinearLayout mItemsLayout; | |
36 | + /** | |
37 | + * 指示器 | |
38 | + */ | |
39 | + private Bitmap mSlideIcon; | |
40 | + /** | |
41 | + * 指示器初始X偏移量 | |
42 | + */ | |
43 | + private int mInitTranslationX; | |
44 | + /** | |
45 | + * 指示器初始Y偏移量 | |
46 | + */ | |
47 | + private int mInitTranslationY; | |
48 | + /** | |
49 | + * 滑动过程中指示器的水平偏移量 | |
50 | + */ | |
51 | + private int mTranslationX; | |
52 | + /** | |
53 | + * tab总数 | |
54 | + */ | |
55 | + private int mTotalItemsCount; | |
56 | + /** | |
57 | + * 指示器绘制数据的初始化标志 | |
58 | + */ | |
59 | + private boolean isFirstTime = true; | |
60 | + /** | |
61 | + * 页面可见的tab数量,默认4个 | |
62 | + */ | |
63 | + private int VISIBLE_TAB_COUNT = 2; | |
64 | + /** | |
65 | + * 移动到倒数第几个,容器开始滑动 | |
66 | + */ | |
67 | + private int START_SCROLL = 2; | |
68 | + /** | |
69 | + * 标题正常时的颜色 | |
70 | + */ | |
71 | + private static final int COLOR_TEXT_NORMAL = 0xFF666666; | |
72 | + /** | |
73 | + * 标题选中时的颜色 | |
74 | + */ | |
75 | + private static final int COLOR_TEXT_HIGHLIGHTCOLOR = 0xFF21c4ff; | |
76 | + private ViewPager mViewPager; | |
77 | + private List<String> mTabTitles; | |
78 | + private int mTabVisibleCount = VISIBLE_TAB_COUNT; | |
79 | + private OnPageChangeListener onPageChangeListener; | |
80 | + | |
81 | + public SlidingTabLayout(Context context) { | |
82 | + this(context, null); | |
83 | + } | |
84 | + | |
85 | + public SlidingTabLayout(Context context, AttributeSet attrs) { | |
86 | + super(context, attrs); | |
87 | + this.mContext = context; | |
88 | + this.mSlideIcon = BitmapFactory.decodeResource(getResources(), R.mipmap.blank); | |
89 | + this.mItemsLayout = new LinearLayout(context); | |
90 | + initTabStripParams(); | |
91 | + addView(mItemsLayout, 0, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); | |
92 | + } | |
93 | + | |
94 | + public void scroll(int position, float positionOffset) { | |
95 | + int tabWidth = mItemsLayout.getChildAt(position).getWidth(); | |
96 | + mTranslationX = (int) ((position + positionOffset) * tabWidth); | |
97 | + | |
98 | + // 容器滚动,当移动到倒数最后一个的时候,开始滚动 | |
99 | + if (positionOffset > 0 && position >= (VISIBLE_TAB_COUNT - START_SCROLL) && mTotalItemsCount > VISIBLE_TAB_COUNT) { | |
100 | + if (VISIBLE_TAB_COUNT != 1) { | |
101 | + //注意这里是整体滑动,使得tabs跟指示器保持相对静止 | |
102 | + this.scrollTo((position - (VISIBLE_TAB_COUNT - START_SCROLL)) * tabWidth + (int) (tabWidth * positionOffset), 0); | |
103 | + } else | |
104 | + // 为count为1时 的特殊处理 | |
105 | + { | |
106 | + this.scrollTo(position * tabWidth + (int) (tabWidth * positionOffset), 0); | |
107 | + } | |
108 | + } | |
109 | + invalidate(); | |
110 | + } | |
111 | + | |
112 | + private void initTabStripParams() { | |
113 | + mItemsLayout.setClipChildren(false); | |
114 | + mItemsLayout.setClipToPadding(false); | |
115 | + mItemsLayout.setGravity(Gravity.BOTTOM); | |
116 | + mItemsLayout.setPadding(0, 0, 0, 0); | |
117 | + } | |
118 | + | |
119 | + /** | |
120 | + * 绘制指示器 | |
121 | + */ | |
122 | + @Override | |
123 | + protected void dispatchDraw(Canvas canvas) { | |
124 | + canvas.save(); | |
125 | + // 平移到正确的位置 | |
126 | + canvas.translate(mInitTranslationX + mTranslationX, this.mInitTranslationY);//修正tabs的平移量 | |
127 | + canvas.drawBitmap(this.mSlideIcon, 0, 0, null); | |
128 | + canvas.restore(); | |
129 | + super.dispatchDraw(canvas); | |
130 | + } | |
131 | + | |
132 | + @Override | |
133 | + protected void onLayout(boolean changed, int l, int t, int r, int b) { | |
134 | + super.onLayout(changed, l, t, r, b); | |
135 | + if (isFirstTime && (mTotalItemsCount > 0) && getItemView(this.selection) != null) { | |
136 | + View currentItemView = getItemView(this.selection); | |
137 | + this.mInitTranslationX = (currentItemView.getLeft() + currentItemView.getWidth() / 2 - this.mSlideIcon.getWidth() / 2); | |
138 | + this.mInitTranslationY = (b - t - this.mSlideIcon.getHeight()); | |
139 | + isFirstTime = false; | |
140 | + } | |
141 | + } | |
142 | + | |
143 | + public void setVisibleTabCount(int VISIBLE_TAB_COUNT) { | |
144 | + this.VISIBLE_TAB_COUNT = VISIBLE_TAB_COUNT; | |
145 | + } | |
146 | + | |
147 | + public void setStartScroll(int START_SCROLL) { | |
148 | + this.START_SCROLL = START_SCROLL; | |
149 | + } | |
150 | + | |
151 | + public View getItemView(int itemPosition) { | |
152 | + if ((itemPosition >= 0) && (itemPosition < this.mTotalItemsCount)) { | |
153 | + return this.mItemsLayout.getChildAt(itemPosition); | |
154 | + } | |
155 | + return null; | |
156 | + } | |
157 | + | |
158 | + public void setData(List<String> datas) { | |
159 | + mTotalItemsCount = 0; | |
160 | + // 如果传入的list有值,则移除布局文件中设置的view | |
161 | + if (datas != null && datas.size() > 0) { | |
162 | + this.mItemsLayout.removeAllViews(); | |
163 | + this.mTabTitles = datas; | |
164 | + | |
165 | + for (String title : mTabTitles) { | |
166 | + // 添加view | |
167 | + this.mItemsLayout.addView(generateTextView(title)); | |
168 | + mTotalItemsCount++; | |
169 | + } | |
170 | + // 设置item的click事件 | |
171 | + setItemClickEvent(); | |
172 | + } | |
173 | + } | |
174 | + | |
175 | + /** | |
176 | + * 对外的ViewPager的回调接口 | |
177 | + * | |
178 | + * @author zhy | |
179 | + */ | |
180 | + public interface PageChangeListener { | |
181 | + void onPageScrolled(int position, float positionOffset, int positionOffsetPixels); | |
182 | + | |
183 | + void onPageSelected(int position); | |
184 | + | |
185 | + void onPageScrollStateChanged(int state); | |
186 | + } | |
187 | + | |
188 | + // 设置关联的ViewPager | |
189 | + public void setViewPager(ViewPager mViewPager, int pos) { | |
190 | + this.mViewPager = mViewPager; | |
191 | + | |
192 | + mViewPager.addOnPageChangeListener(new OnPageChangeListener() { | |
193 | + @Override | |
194 | + public void onPageSelected(int position) { | |
195 | + // 设置字体颜色高亮 | |
196 | + resetTextViewColor(); | |
197 | + highLightTextView(position); | |
198 | + | |
199 | + // 回调 | |
200 | + if (onPageChangeListener != null) { | |
201 | + onPageChangeListener.onPageSelected(position); | |
202 | + } | |
203 | + } | |
204 | + | |
205 | + @Override | |
206 | + public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { | |
207 | + // 滚动 | |
208 | + scroll(position, positionOffset); | |
209 | + | |
210 | + // 回调 | |
211 | + if (onPageChangeListener != null) { | |
212 | + onPageChangeListener.onPageScrolled(position, positionOffset, positionOffsetPixels); | |
213 | + } | |
214 | + | |
215 | + } | |
216 | + | |
217 | + @Override | |
218 | + public void onPageScrollStateChanged(int state) { | |
219 | + // 回调 | |
220 | + if (onPageChangeListener != null) { | |
221 | + onPageChangeListener.onPageScrollStateChanged(state); | |
222 | + } | |
223 | + | |
224 | + } | |
225 | + }); | |
226 | + // 设置当前页 | |
227 | + mViewPager.setCurrentItem(pos); | |
228 | + // 高亮 | |
229 | + highLightTextView(pos); | |
230 | + } | |
231 | + | |
232 | + /** | |
233 | + * 重置文本颜色 | |
234 | + */ | |
235 | + private void resetTextViewColor() { | |
236 | + for (int i = 0; i < mItemsLayout.getChildCount(); i++) { | |
237 | + View view = mItemsLayout.getChildAt(i); | |
238 | + if (view instanceof TextView) { | |
239 | + ((TextView) view).setTextColor(COLOR_TEXT_NORMAL); | |
240 | + } | |
241 | + } | |
242 | + } | |
243 | + | |
244 | + /** | |
245 | + * 高亮文本 | |
246 | + * | |
247 | + * @param position | |
248 | + */ | |
249 | + protected void highLightTextView(int position) { | |
250 | + View view = mItemsLayout.getChildAt(position); | |
251 | + if (view instanceof TextView) { | |
252 | + ((TextView) view).setTextColor(COLOR_TEXT_HIGHLIGHTCOLOR); | |
253 | + } | |
254 | + | |
255 | + } | |
256 | + | |
257 | + private void setItemClickEvent() { | |
258 | + int cCount = mItemsLayout.getChildCount(); | |
259 | + for (int i = 0; i < cCount; i++) { | |
260 | + final int j = i; | |
261 | + View view = mItemsLayout.getChildAt(i); | |
262 | + view.setOnClickListener(new OnClickListener() { | |
263 | + @Override | |
264 | + public void onClick(View v) { | |
265 | + mViewPager.setCurrentItem(j); | |
266 | + } | |
267 | + }); | |
268 | + } | |
269 | + } | |
270 | + | |
271 | + /** | |
272 | + * 根据标题生成我们的TextView | |
273 | + * | |
274 | + * @param text | |
275 | + * @return | |
276 | + */ | |
277 | + private TextView generateTextView(String text) { | |
278 | + TextView tv = new TextView(getContext()); | |
279 | + LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); | |
280 | + lp.width = getScreenWidth() / mTabVisibleCount; | |
281 | + tv.setGravity(Gravity.CENTER); | |
282 | + tv.setTextColor(COLOR_TEXT_NORMAL); | |
283 | + tv.setText(text); | |
284 | + tv.setTextSize(TypedValue.TYPE_NULL, 34); | |
285 | + tv.setLayoutParams(lp); | |
286 | + return tv; | |
287 | + } | |
288 | + | |
289 | + /** | |
290 | + * 获得屏幕的宽度 | |
291 | + * | |
292 | + * @return | |
293 | + */ | |
294 | + public int getScreenWidth() { | |
295 | + WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE); | |
296 | + DisplayMetrics outMetrics = new DisplayMetrics(); | |
297 | + wm.getDefaultDisplay().getMetrics(outMetrics); | |
298 | + return outMetrics.widthPixels; | |
299 | + } | |
300 | + | |
301 | + public LinearLayout getLinearLayout() { | |
302 | + return mItemsLayout; | |
303 | + } | |
304 | +} | |
0 | 305 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/anim/rightin.xml
... | ... | @@ -0,0 +1,13 @@ |
1 | +<?xml version="1.0" encoding="utf-8"?> | |
2 | +<set xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + android:interpolator="@android:anim/decelerate_interpolator"> | |
4 | + <scale android:fromXScale="0.1" android:toXScale="1.0" | |
5 | + android:fromYScale="0.1" android:toYScale="1.0" | |
6 | + android:pivotX="50%p" android:pivotY="50%p" | |
7 | + android:duration="300" /> | |
8 | + <!-- 这里为了看到动画演示效果,把动画持续时间设为3秒 --> | |
9 | + <alpha | |
10 | + android:fromAlpha="0.1" | |
11 | + android:toAlpha="1.0" | |
12 | + android:duration="300" /> | |
13 | +</set> | |
0 | 14 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/anim/rightout.xml
... | ... | @@ -0,0 +1,14 @@ |
1 | +<?xml version="1.0" encoding="utf-8"?> | |
2 | +<set xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + android:interpolator="@android:anim/decelerate_interpolator" | |
4 | + android:zAdjustment="top"> | |
5 | + <scale android:fromXScale="1.0" android:toXScale=".5" | |
6 | + android:fromYScale="1.0" android:toYScale=".5" | |
7 | + android:pivotX="50%p" android:pivotY="50%p" | |
8 | + android:duration="300" /> | |
9 | + <!-- 系统内置的动画持续时间 | |
10 | + android:duration="@android:integer/config_mediumAnimTime" | |
11 | + --> | |
12 | + <alpha android:fromAlpha="1.0" android:toAlpha="0" | |
13 | + android:duration="300"/> | |
14 | +</set> | |
0 | 15 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/color/btn_text_color.xml
... | ... | @@ -0,0 +1,9 @@ |
1 | +<?xml version="1.0" encoding="utf-8"?> | |
2 | +<selector xmlns:android="http://schemas.android.com/apk/res/android"> | |
3 | + | |
4 | + <item android:state_selected="true" android:color="@color/login_text_blue"/> | |
5 | + <item android:state_focused="true" android:color="@color/login_text_blue"/> | |
6 | + <item android:state_pressed="true" android:color="@color/login_text_blue"/> | |
7 | + <item android:color="@color/login_text_black"/> | |
8 | + | |
9 | +</selector> | |
0 | 10 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/drawable/blue_btn_bg_normal.xml
... | ... | @@ -0,0 +1,17 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<shape xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + android:shape="rectangle" > | |
4 | + | |
5 | + <solid android:color="@color/login_text_blue" /> | |
6 | + | |
7 | + <corners | |
8 | + android:bottomLeftRadius="8dp" | |
9 | + android:bottomRightRadius="8dp" | |
10 | + android:topLeftRadius="8dp" | |
11 | + android:topRightRadius="8dp" /> | |
12 | + | |
13 | + <stroke | |
14 | + android:width="1px" | |
15 | + android:color="@color/login_text_blue" /> | |
16 | + | |
17 | +</shape> | |
0 | 18 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/drawable/blue_btn_bg_pressed.xml
... | ... | @@ -0,0 +1,17 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<shape xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + android:shape="rectangle" > | |
4 | + | |
5 | + <solid android:color="@color/login_text_blue" /> | |
6 | + | |
7 | + <corners | |
8 | + android:bottomLeftRadius="8dp" | |
9 | + android:bottomRightRadius="8dp" | |
10 | + android:topLeftRadius="8dp" | |
11 | + android:topRightRadius="8dp" /> | |
12 | + | |
13 | + <stroke | |
14 | + android:width="1px" | |
15 | + android:color="@color/login_text_blue" /> | |
16 | + | |
17 | +</shape> | |
0 | 18 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/drawable/btn_rect_normal.xml
... | ... | @@ -0,0 +1,17 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<shape xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + android:shape="rectangle" > | |
4 | + | |
5 | + <solid android:color="#ffffffff" /> | |
6 | + | |
7 | + <corners | |
8 | + android:bottomLeftRadius="0dp" | |
9 | + android:bottomRightRadius="8dp" | |
10 | + android:topLeftRadius="0dp" | |
11 | + android:topRightRadius="8dp" /> | |
12 | + | |
13 | + <stroke | |
14 | + android:width="2px" | |
15 | + android:color="@color/login_edittext_normal" /> | |
16 | + | |
17 | +</shape> | |
0 | 18 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/drawable/edittext_input_normal.xml
... | ... | @@ -0,0 +1,17 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<shape xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + android:shape="rectangle" > | |
4 | + | |
5 | + <solid android:color="#ffffffff" /> | |
6 | + | |
7 | + <corners | |
8 | + android:bottomLeftRadius="8dp" | |
9 | + android:bottomRightRadius="8dp" | |
10 | + android:topLeftRadius="8dp" | |
11 | + android:topRightRadius="8dp" /> | |
12 | + | |
13 | + <stroke | |
14 | + android:width="2px" | |
15 | + android:color="@color/login_edittext_normal" /> | |
16 | + | |
17 | +</shape> | |
0 | 18 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/drawable/edittext_input_pressed.xml
... | ... | @@ -0,0 +1,17 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<shape xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + android:shape="rectangle" > | |
4 | + | |
5 | + <solid android:color="#ffffffff" /> | |
6 | + | |
7 | + <corners | |
8 | + android:bottomLeftRadius="8dp" | |
9 | + android:bottomRightRadius="8dp" | |
10 | + android:topLeftRadius="8dp" | |
11 | + android:topRightRadius="8dp" /> | |
12 | + | |
13 | + <stroke | |
14 | + android:width="2px" | |
15 | + android:color="@color/login_edittext_pressed" /> | |
16 | + | |
17 | +</shape> | |
0 | 18 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/drawable/edittext_rect_input_normal.xml
... | ... | @@ -0,0 +1,17 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<shape xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + android:shape="rectangle" > | |
4 | + | |
5 | + <solid android:color="#ffffffff" /> | |
6 | + | |
7 | + <corners | |
8 | + android:bottomLeftRadius="8dp" | |
9 | + android:bottomRightRadius="0dp" | |
10 | + android:topLeftRadius="8dp" | |
11 | + android:topRightRadius="0dp" /> | |
12 | + | |
13 | + <stroke | |
14 | + android:width="2px" | |
15 | + android:color="@color/login_edittext_normal" /> | |
16 | + | |
17 | +</shape> | |
0 | 18 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/drawable/edittext_rect_input_pressed.xml
... | ... | @@ -0,0 +1,17 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<shape xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + android:shape="rectangle" > | |
4 | + | |
5 | + <solid android:color="#ffffffff" /> | |
6 | + | |
7 | + <corners | |
8 | + android:bottomLeftRadius="8dp" | |
9 | + android:bottomRightRadius="0dp" | |
10 | + android:topLeftRadius="8dp" | |
11 | + android:topRightRadius="0dp" /> | |
12 | + | |
13 | + <stroke | |
14 | + android:width="2px" | |
15 | + android:color="@color/login_edittext_pressed" /> | |
16 | + | |
17 | +</shape> | |
0 | 18 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/drawable/selector_blue_btn_bg.xml
... | ... | @@ -0,0 +1,6 @@ |
1 | +<?xml version="1.0" encoding="utf-8"?> | |
2 | +<selector xmlns:android="http://schemas.android.com/apk/res/android"> | |
3 | + <item android:drawable="@drawable/blue_btn_bg_pressed" android:state_pressed="true"/> | |
4 | + <item android:drawable="@drawable/blue_btn_bg_pressed" android:state_checked="true"/> | |
5 | + <item android:drawable="@drawable/blue_btn_bg_normal"/> | |
6 | +</selector> | |
0 | 7 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/drawable/selector_edittext_bg.xml
... | ... | @@ -0,0 +1,6 @@ |
1 | +<?xml version="1.0" encoding="utf-8"?> | |
2 | +<selector xmlns:android="http://schemas.android.com/apk/res/android"> | |
3 | + <item android:drawable="@drawable/edittext_input_pressed" android:state_pressed="true"/> | |
4 | + <item android:drawable="@drawable/edittext_input_pressed" android:state_focused="true"/> | |
5 | + <item android:drawable="@drawable/edittext_input_normal"/> | |
6 | +</selector> | |
0 | 7 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/drawable/selector_edittext_rect_bg.xml
... | ... | @@ -0,0 +1,6 @@ |
1 | +<?xml version="1.0" encoding="utf-8"?> | |
2 | +<selector xmlns:android="http://schemas.android.com/apk/res/android"> | |
3 | + <item android:drawable="@drawable/edittext_rect_input_pressed" android:state_pressed="true"/> | |
4 | + <item android:drawable="@drawable/edittext_rect_input_pressed" android:state_focused="true"/> | |
5 | + <item android:drawable="@drawable/edittext_rect_input_normal"/> | |
6 | +</selector> | |
0 | 7 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/layout/activity_chage_binding.xml
... | ... | @@ -0,0 +1,97 @@ |
1 | +<?xml version="1.0" encoding="utf-8"?> | |
2 | +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + android:layout_width="match_parent" | |
4 | + android:layout_height="match_parent" | |
5 | + android:background="#ffffffff" | |
6 | + android:orientation="vertical"> | |
7 | + <RelativeLayout | |
8 | + android:id="@+id/title" | |
9 | + android:layout_width="match_parent" | |
10 | + android:layout_height="wrap_content" | |
11 | + android:background="@color/login_text_blue" | |
12 | + android:minHeight="50dp" > | |
13 | + | |
14 | + <ImageView | |
15 | + android:id="@+id/cancel" | |
16 | + android:layout_width="wrap_content" | |
17 | + android:layout_height="wrap_content" | |
18 | + android:layout_centerVertical="true" | |
19 | + android:paddingLeft="20dp" | |
20 | + android:paddingRight="20dp" | |
21 | + android:src="@mipmap/title_back" /> | |
22 | + | |
23 | + <TextView | |
24 | + android:id="@+id/menu_title" | |
25 | + android:layout_width="wrap_content" | |
26 | + android:layout_height="wrap_content" | |
27 | + android:layout_centerInParent="true" | |
28 | + android:text="@string/string_electroniccard_change_bangding" | |
29 | + android:textColor="@android:color/white" | |
30 | + android:textSize="22sp" /> | |
31 | + </RelativeLayout> | |
32 | + <RelativeLayout | |
33 | + android:layout_width="match_parent" | |
34 | + android:layout_height="match_parent" | |
35 | + android:layout_below="@id/title" | |
36 | + android:background="#ffffffff" | |
37 | + android:orientation="vertical" | |
38 | + android:paddingLeft="250dp" | |
39 | + android:paddingRight="250dp" > | |
40 | + | |
41 | + <EditText | |
42 | + android:id="@+id/et_phonenumber" | |
43 | + style="@style/login_register_edit_style" | |
44 | + android:layout_marginTop="150dp" | |
45 | + android:hint="手机号" | |
46 | + android:inputType="phone" /> | |
47 | + | |
48 | + <TextView | |
49 | + android:id="@+id/phonenumber_error_hint" | |
50 | + style="@style/registererrhint_style" | |
51 | + android:layout_below="@id/et_phonenumber" /> | |
52 | + | |
53 | + <LinearLayout | |
54 | + android:id="@+id/rl_authcode" | |
55 | + android:layout_width="match_parent" | |
56 | + android:layout_height="wrap_content" | |
57 | + android:layout_below="@id/et_phonenumber" | |
58 | + android:layout_marginTop="30dp" | |
59 | + android:orientation="horizontal"> | |
60 | + | |
61 | + <EditText | |
62 | + android:id="@+id/et_authcode" | |
63 | + style="@style/login_register_edit_rect_style" | |
64 | + android:layout_marginRight="-4px" | |
65 | + android:layout_weight="1" | |
66 | + android:hint="验证码" | |
67 | + android:numeric="integer" /> | |
68 | + | |
69 | + <Button | |
70 | + android:id="@+id/btn_authcode" | |
71 | + style="@style/login_register_btn_authcode_rect_style" | |
72 | + android:layout_marginLeft="0px" | |
73 | + android:layout_marginTop="0px" | |
74 | + android:layout_weight="2" | |
75 | + android:text="获取验证码" | |
76 | + android:textColor="@color/btn_text_color" /> | |
77 | + </LinearLayout> | |
78 | + | |
79 | + <TextView | |
80 | + android:id="@+id/authcode_error_hint" | |
81 | + style="@style/registererrhint_style" | |
82 | + android:layout_below="@id/rl_authcode" /> | |
83 | + | |
84 | + <TextView | |
85 | + android:id="@+id/password_error_hint" | |
86 | + style="@style/registererrhint_style" | |
87 | + android:layout_below="@id/rl_authcode" /> | |
88 | + | |
89 | + <Button | |
90 | + android:id="@+id/btn_register" | |
91 | + style="@style/button_login_register_style" | |
92 | + android:layout_below="@id/rl_authcode" | |
93 | + android:layout_marginTop="30dp" | |
94 | + android:text="@string/ok" /> | |
95 | + </RelativeLayout> | |
96 | + | |
97 | +</RelativeLayout> | |
0 | 98 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/layout/activity_change_card_info.xml
... | ... | @@ -0,0 +1,130 @@ |
1 | +<?xml version="1.0" encoding="utf-8"?> | |
2 | +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + android:layout_width="match_parent" | |
4 | + android:layout_height="match_parent" | |
5 | + android:background="#ffffffff" | |
6 | + android:orientation="vertical"> | |
7 | + | |
8 | + <RelativeLayout | |
9 | + android:id="@+id/title" | |
10 | + android:layout_width="match_parent" | |
11 | + android:layout_height="wrap_content" | |
12 | + android:background="@color/login_text_blue" | |
13 | + android:minHeight="50dp"> | |
14 | + | |
15 | + <ImageView | |
16 | + android:id="@+id/cancel" | |
17 | + android:layout_width="wrap_content" | |
18 | + android:layout_height="wrap_content" | |
19 | + android:layout_centerVertical="true" | |
20 | + android:paddingLeft="20dp" | |
21 | + android:paddingRight="20dp" | |
22 | + android:src="@mipmap/title_back" /> | |
23 | + | |
24 | + <TextView | |
25 | + android:id="@+id/menu_title" | |
26 | + android:layout_width="wrap_content" | |
27 | + android:layout_height="wrap_content" | |
28 | + android:layout_centerInParent="true" | |
29 | + android:text="@string/string_electroniccard_info_change" | |
30 | + android:textColor="@android:color/white" | |
31 | + android:textSize="22sp" /> | |
32 | + </RelativeLayout> | |
33 | + | |
34 | + <RelativeLayout | |
35 | + android:layout_width="match_parent" | |
36 | + android:layout_height="match_parent" | |
37 | + android:layout_below="@id/title" | |
38 | + android:background="#ffffffff" | |
39 | + android:orientation="vertical" | |
40 | + android:paddingLeft="250dp" | |
41 | + android:paddingRight="250dp"> | |
42 | + | |
43 | + <EditText | |
44 | + android:id="@+id/et_phonenumber" | |
45 | + style="@style/login_register_edit_style" | |
46 | + android:layout_marginTop="150dp" | |
47 | + android:hint="手机号" | |
48 | + android:inputType="phone" /> | |
49 | + | |
50 | + <TextView | |
51 | + android:id="@+id/phonenumber_error_hint" | |
52 | + style="@style/registererrhint_style" | |
53 | + android:layout_below="@id/et_phonenumber" /> | |
54 | + | |
55 | + <LinearLayout | |
56 | + android:id="@+id/rl_authcode" | |
57 | + android:layout_width="match_parent" | |
58 | + android:layout_height="wrap_content" | |
59 | + android:layout_below="@id/et_phonenumber" | |
60 | + android:layout_marginTop="30dp" | |
61 | + android:orientation="horizontal"> | |
62 | + | |
63 | + <EditText | |
64 | + android:id="@+id/et_authcode" | |
65 | + style="@style/login_register_edit_rect_style" | |
66 | + android:layout_marginRight="-4px" | |
67 | + android:layout_weight="1" | |
68 | + android:hint="验证码" | |
69 | + android:numeric="integer" /> | |
70 | + | |
71 | + <Button | |
72 | + android:id="@+id/btn_authcode" | |
73 | + style="@style/login_register_btn_authcode_rect_style" | |
74 | + android:layout_marginLeft="0px" | |
75 | + android:layout_marginTop="0px" | |
76 | + android:layout_weight="2" | |
77 | + android:text="获取验证码" | |
78 | + android:textColor="@color/btn_text_color" /> | |
79 | + </LinearLayout> | |
80 | + | |
81 | + <TextView | |
82 | + android:id="@+id/authcode_error_hint" | |
83 | + style="@style/registererrhint_style" | |
84 | + android:layout_below="@id/rl_authcode" /> | |
85 | + | |
86 | + <RelativeLayout | |
87 | + android:id="@+id/pwd_rl" | |
88 | + android:layout_width="match_parent" | |
89 | + android:layout_height="wrap_content" | |
90 | + android:layout_below="@id/rl_authcode" | |
91 | + android:layout_marginTop="30dp"> | |
92 | + | |
93 | + <EditText | |
94 | + android:id="@+id/et_newpassword" | |
95 | + style="@style/login_register_edit_style" | |
96 | + android:hint="请选择地区" | |
97 | + android:inputType="textPassword" /> | |
98 | + | |
99 | + <ImageView | |
100 | + android:id="@+id/iv_pwd_change" | |
101 | + style="@style/iv_pwd_change_style" /> | |
102 | + </RelativeLayout> | |
103 | + | |
104 | + <TextView | |
105 | + android:id="@+id/newpassword_error_hint" | |
106 | + style="@style/registererrhint_style" | |
107 | + android:layout_below="@id/pwd_rl" /> | |
108 | + | |
109 | + <EditText | |
110 | + android:id="@+id/et_again_newpassword" | |
111 | + style="@style/login_register_edit_style" | |
112 | + android:layout_below="@id/pwd_rl" | |
113 | + android:layout_marginTop="30dp" | |
114 | + android:hint="请选择详细地址" | |
115 | + android:inputType="textPassword" /> | |
116 | + | |
117 | + <TextView | |
118 | + android:id="@+id/again_newpassword_error_hint" | |
119 | + style="@style/registererrhint_style" | |
120 | + android:layout_below="@id/et_again_newpassword" /> | |
121 | + | |
122 | + <Button | |
123 | + android:id="@+id/btn_ok" | |
124 | + style="@style/button_login_register_style" | |
125 | + android:layout_below="@id/et_again_newpassword" | |
126 | + android:layout_marginTop="30dp" | |
127 | + android:text="@string/ok" /> | |
128 | + </RelativeLayout> | |
129 | + | |
130 | +</RelativeLayout> | |
0 | 131 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/layout/activity_changepsword.xml
... | ... | @@ -0,0 +1,99 @@ |
1 | +<?xml version="1.0" encoding="utf-8"?> | |
2 | +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + android:layout_width="match_parent" | |
4 | + android:layout_height="match_parent" | |
5 | + android:background="#ffffffff" | |
6 | + android:orientation="vertical" > | |
7 | + | |
8 | + <RelativeLayout | |
9 | + android:id="@+id/title" | |
10 | + android:layout_width="match_parent" | |
11 | + android:layout_height="wrap_content" | |
12 | + android:background="@color/login_text_blue" | |
13 | + android:minHeight="50dp" > | |
14 | + | |
15 | + <ImageView | |
16 | + android:id="@+id/cancel" | |
17 | + android:layout_width="wrap_content" | |
18 | + android:layout_height="wrap_content" | |
19 | + android:layout_centerVertical="true" | |
20 | + android:paddingLeft="20dp" | |
21 | + android:paddingRight="20dp" | |
22 | + android:src="@mipmap/title_back" /> | |
23 | + | |
24 | + <TextView | |
25 | + android:id="@+id/menu_title" | |
26 | + android:layout_width="wrap_content" | |
27 | + android:layout_height="wrap_content" | |
28 | + android:layout_centerInParent="true" | |
29 | + android:text="@string/string_menu_title" | |
30 | + android:textColor="@android:color/white" | |
31 | + android:textSize="22sp" /> | |
32 | + </RelativeLayout> | |
33 | + | |
34 | + <RelativeLayout | |
35 | + android:layout_width="match_parent" | |
36 | + android:layout_height="match_parent" | |
37 | + android:layout_below="@id/title" | |
38 | + android:background="#ffffffff" | |
39 | + android:orientation="vertical" | |
40 | + android:paddingLeft="250dp" | |
41 | + android:paddingRight="250dp" > | |
42 | + | |
43 | + <RelativeLayout | |
44 | + android:id="@+id/pwd_rl" | |
45 | + android:layout_width="match_parent" | |
46 | + android:layout_height="wrap_content" | |
47 | + android:layout_marginTop="100dp" | |
48 | + > | |
49 | + <EditText | |
50 | + android:id="@+id/et_oldpassword" | |
51 | + style="@style/login_register_edit_style" | |
52 | + android:hint="输入原密码" | |
53 | + android:inputType="textPassword" /> | |
54 | + <ImageView | |
55 | + android:id="@+id/iv_pwd_change" | |
56 | + style="@style/iv_pwd_change_style" | |
57 | + /> | |
58 | + </RelativeLayout> | |
59 | + | |
60 | + <TextView | |
61 | + android:id="@+id/oldpassword_error_hint" | |
62 | + style="@style/registererrhint_style" | |
63 | + android:layout_below="@id/pwd_rl" /> | |
64 | + | |
65 | + <EditText | |
66 | + android:id="@+id/et_newpassword" | |
67 | + style="@style/login_register_edit_style" | |
68 | + android:layout_below="@id/pwd_rl" | |
69 | + android:layout_marginTop="30dp" | |
70 | + android:hint="密码为英文和数字组成,最少8位" | |
71 | + android:inputType="textPassword" /> | |
72 | + | |
73 | + <TextView | |
74 | + android:id="@+id/newpassword_error_hint" | |
75 | + style="@style/registererrhint_style" | |
76 | + android:layout_below="@id/et_newpassword" /> | |
77 | + | |
78 | + <EditText | |
79 | + android:id="@+id/et_again_newpassword" | |
80 | + style="@style/login_register_edit_style" | |
81 | + android:layout_below="@id/et_newpassword" | |
82 | + android:layout_marginTop="30dp" | |
83 | + android:hint="再次输入新密码" | |
84 | + android:inputType="textPassword" /> | |
85 | + | |
86 | + <TextView | |
87 | + android:id="@+id/again_newpassword_error_hint" | |
88 | + style="@style/registererrhint_style" | |
89 | + android:layout_below="@id/et_again_newpassword" /> | |
90 | + | |
91 | + <Button | |
92 | + android:id="@+id/btn_ok" | |
93 | + style="@style/button_login_register_style" | |
94 | + android:layout_below="@id/et_again_newpassword" | |
95 | + android:layout_marginTop="30dp" | |
96 | + android:text="确 定" /> | |
97 | + </RelativeLayout> | |
98 | + | |
99 | +</RelativeLayout> | |
0 | 100 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/layout/activity_electronicard_phone.xml
... | ... | @@ -0,0 +1,97 @@ |
1 | +<?xml version="1.0" encoding="utf-8"?> | |
2 | +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + android:layout_width="match_parent" | |
4 | + android:layout_height="match_parent" | |
5 | + android:background="#ffffffff" | |
6 | + android:orientation="vertical"> | |
7 | + <RelativeLayout | |
8 | + android:id="@+id/title" | |
9 | + android:layout_width="match_parent" | |
10 | + android:layout_height="wrap_content" | |
11 | + android:background="@color/login_text_blue" | |
12 | + android:minHeight="50dp" > | |
13 | + | |
14 | + <ImageView | |
15 | + android:id="@+id/cancel" | |
16 | + android:layout_width="wrap_content" | |
17 | + android:layout_height="wrap_content" | |
18 | + android:layout_centerVertical="true" | |
19 | + android:paddingLeft="20dp" | |
20 | + android:paddingRight="20dp" | |
21 | + android:src="@mipmap/title_back" /> | |
22 | + | |
23 | + <TextView | |
24 | + android:id="@+id/menu_title" | |
25 | + android:layout_width="wrap_content" | |
26 | + android:layout_height="wrap_content" | |
27 | + android:layout_centerInParent="true" | |
28 | + android:text="@string/string_electroniccard_info_change" | |
29 | + android:textColor="@android:color/white" | |
30 | + android:textSize="22sp" /> | |
31 | + </RelativeLayout> | |
32 | + <RelativeLayout | |
33 | + android:layout_width="match_parent" | |
34 | + android:layout_height="match_parent" | |
35 | + android:layout_below="@id/title" | |
36 | + android:background="#ffffffff" | |
37 | + android:orientation="vertical" | |
38 | + android:paddingLeft="250dp" | |
39 | + android:paddingRight="250dp" > | |
40 | + | |
41 | + <EditText | |
42 | + android:id="@+id/et_phonenumber" | |
43 | + style="@style/login_register_edit_style" | |
44 | + android:layout_marginTop="150dp" | |
45 | + android:hint="手机号" | |
46 | + android:inputType="phone" /> | |
47 | + | |
48 | + <TextView | |
49 | + android:id="@+id/phonenumber_error_hint" | |
50 | + style="@style/registererrhint_style" | |
51 | + android:layout_below="@id/et_phonenumber" /> | |
52 | + | |
53 | + <LinearLayout | |
54 | + android:id="@+id/rl_authcode" | |
55 | + android:layout_width="match_parent" | |
56 | + android:layout_height="wrap_content" | |
57 | + android:layout_below="@id/et_phonenumber" | |
58 | + android:layout_marginTop="30dp" | |
59 | + android:orientation="horizontal"> | |
60 | + | |
61 | + <EditText | |
62 | + android:id="@+id/et_authcode" | |
63 | + style="@style/login_register_edit_rect_style" | |
64 | + android:layout_marginRight="-4px" | |
65 | + android:layout_weight="1" | |
66 | + android:hint="验证码" | |
67 | + android:numeric="integer" /> | |
68 | + | |
69 | + <Button | |
70 | + android:id="@+id/btn_authcode" | |
71 | + style="@style/login_register_btn_authcode_rect_style" | |
72 | + android:layout_marginLeft="0px" | |
73 | + android:layout_marginTop="0px" | |
74 | + android:layout_weight="2" | |
75 | + android:text="获取验证码" | |
76 | + android:textColor="@color/btn_text_color" /> | |
77 | + </LinearLayout> | |
78 | + | |
79 | + <TextView | |
80 | + android:id="@+id/authcode_error_hint" | |
81 | + style="@style/registererrhint_style" | |
82 | + android:layout_below="@id/rl_authcode" /> | |
83 | + | |
84 | + <TextView | |
85 | + android:id="@+id/password_error_hint" | |
86 | + style="@style/registererrhint_style" | |
87 | + android:layout_below="@id/pwd_rl" /> | |
88 | + | |
89 | + <Button | |
90 | + android:id="@+id/btn_register" | |
91 | + style="@style/button_login_register_style" | |
92 | + android:layout_below="@id/rl_authcode" | |
93 | + android:layout_marginTop="30dp" | |
94 | + android:text="@string/ok" /> | |
95 | + </RelativeLayout> | |
96 | + | |
97 | +</RelativeLayout> | |
0 | 98 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/layout/activity_electroniccard_validation.xml
... | ... | @@ -0,0 +1,97 @@ |
1 | +<?xml version="1.0" encoding="utf-8"?> | |
2 | +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + android:layout_width="match_parent" | |
4 | + android:layout_height="match_parent" | |
5 | + android:background="#ffffffff" | |
6 | + android:orientation="vertical"> | |
7 | + <RelativeLayout | |
8 | + android:id="@+id/title" | |
9 | + android:layout_width="match_parent" | |
10 | + android:layout_height="wrap_content" | |
11 | + android:background="@color/login_text_blue" | |
12 | + android:minHeight="50dp" > | |
13 | + | |
14 | + <ImageView | |
15 | + android:id="@+id/cancel" | |
16 | + android:layout_width="wrap_content" | |
17 | + android:layout_height="wrap_content" | |
18 | + android:layout_centerVertical="true" | |
19 | + android:paddingLeft="20dp" | |
20 | + android:paddingRight="20dp" | |
21 | + android:src="@mipmap/title_back" /> | |
22 | + | |
23 | + <TextView | |
24 | + android:id="@+id/menu_title" | |
25 | + android:layout_width="wrap_content" | |
26 | + android:layout_height="wrap_content" | |
27 | + android:layout_centerInParent="true" | |
28 | + android:text="@string/string_electroniccard_info_change" | |
29 | + android:textColor="@android:color/white" | |
30 | + android:textSize="22sp" /> | |
31 | + </RelativeLayout> | |
32 | + <RelativeLayout | |
33 | + android:layout_width="match_parent" | |
34 | + android:layout_height="match_parent" | |
35 | + android:layout_below="@id/title" | |
36 | + android:background="#ffffffff" | |
37 | + android:orientation="vertical" | |
38 | + android:paddingLeft="250dp" | |
39 | + android:paddingRight="250dp" > | |
40 | + | |
41 | + <EditText | |
42 | + android:id="@+id/et_phonenumber" | |
43 | + style="@style/login_register_edit_style" | |
44 | + android:layout_marginTop="150dp" | |
45 | + android:hint="手机号" | |
46 | + android:inputType="phone" /> | |
47 | + | |
48 | + <TextView | |
49 | + android:id="@+id/phonenumber_error_hint" | |
50 | + style="@style/registererrhint_style" | |
51 | + android:layout_below="@id/et_phonenumber" /> | |
52 | + | |
53 | + <LinearLayout | |
54 | + android:id="@+id/rl_authcode" | |
55 | + android:layout_width="match_parent" | |
56 | + android:layout_height="wrap_content" | |
57 | + android:layout_below="@id/et_phonenumber" | |
58 | + android:layout_marginTop="30dp" | |
59 | + android:orientation="horizontal"> | |
60 | + | |
61 | + <EditText | |
62 | + android:id="@+id/et_authcode" | |
63 | + style="@style/login_register_edit_rect_style" | |
64 | + android:layout_marginRight="-4px" | |
65 | + android:layout_weight="1" | |
66 | + android:hint="验证码" | |
67 | + android:numeric="integer" /> | |
68 | + | |
69 | + <Button | |
70 | + android:id="@+id/btn_authcode" | |
71 | + style="@style/login_register_btn_authcode_rect_style" | |
72 | + android:layout_marginLeft="0px" | |
73 | + android:layout_marginTop="0px" | |
74 | + android:layout_weight="2" | |
75 | + android:text="获取验证码" | |
76 | + android:textColor="@color/btn_text_color" /> | |
77 | + </LinearLayout> | |
78 | + | |
79 | + <TextView | |
80 | + android:id="@+id/authcode_error_hint" | |
81 | + style="@style/registererrhint_style" | |
82 | + android:layout_below="@id/rl_authcode" /> | |
83 | + | |
84 | + <TextView | |
85 | + android:id="@+id/password_error_hint" | |
86 | + style="@style/registererrhint_style" | |
87 | + android:layout_below="@id/pwd_rl" /> | |
88 | + | |
89 | + <Button | |
90 | + android:id="@+id/btn_register" | |
91 | + style="@style/button_login_register_style" | |
92 | + android:layout_below="@id/rl_authcode" | |
93 | + android:layout_marginTop="30dp" | |
94 | + android:text="@string/string_regist_next" /> | |
95 | + </RelativeLayout> | |
96 | + | |
97 | +</RelativeLayout> | |
0 | 98 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/layout/activity_forgetpsword.xml
... | ... | @@ -0,0 +1,130 @@ |
1 | +<?xml version="1.0" encoding="utf-8"?> | |
2 | +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + android:layout_width="match_parent" | |
4 | + android:layout_height="match_parent" | |
5 | + android:background="#ffffffff" | |
6 | + android:orientation="vertical"> | |
7 | + | |
8 | + <RelativeLayout | |
9 | + android:id="@+id/title" | |
10 | + android:layout_width="match_parent" | |
11 | + android:layout_height="wrap_content" | |
12 | + android:background="@color/login_text_blue" | |
13 | + android:minHeight="50dp"> | |
14 | + | |
15 | + <ImageView | |
16 | + android:id="@+id/cancel" | |
17 | + android:layout_width="wrap_content" | |
18 | + android:layout_height="wrap_content" | |
19 | + android:layout_centerVertical="true" | |
20 | + android:paddingLeft="20dp" | |
21 | + android:paddingRight="20dp" | |
22 | + android:src="@mipmap/title_back" /> | |
23 | + | |
24 | + <TextView | |
25 | + android:id="@+id/menu_title" | |
26 | + android:layout_width="wrap_content" | |
27 | + android:layout_height="wrap_content" | |
28 | + android:layout_centerInParent="true" | |
29 | + android:text="@string/string_menu_title" | |
30 | + android:textColor="@android:color/white" | |
31 | + android:textSize="22sp" /> | |
32 | + </RelativeLayout> | |
33 | + | |
34 | + <RelativeLayout | |
35 | + android:layout_width="match_parent" | |
36 | + android:layout_height="match_parent" | |
37 | + android:layout_below="@id/title" | |
38 | + android:background="#ffffffff" | |
39 | + android:orientation="vertical" | |
40 | + android:paddingLeft="250dp" | |
41 | + android:paddingRight="250dp"> | |
42 | + | |
43 | + <EditText | |
44 | + android:id="@+id/et_phonenumber" | |
45 | + style="@style/login_register_edit_style" | |
46 | + android:layout_marginTop="150dp" | |
47 | + android:hint="手机号" | |
48 | + android:inputType="phone" /> | |
49 | + | |
50 | + <TextView | |
51 | + android:id="@+id/phonenumber_error_hint" | |
52 | + style="@style/registererrhint_style" | |
53 | + android:layout_below="@id/et_phonenumber" /> | |
54 | + | |
55 | + <LinearLayout | |
56 | + android:id="@+id/rl_authcode" | |
57 | + android:layout_width="match_parent" | |
58 | + android:layout_height="wrap_content" | |
59 | + android:layout_below="@id/et_phonenumber" | |
60 | + android:layout_marginTop="30dp" | |
61 | + android:orientation="horizontal"> | |
62 | + | |
63 | + <EditText | |
64 | + android:id="@+id/et_authcode" | |
65 | + style="@style/login_register_edit_rect_style" | |
66 | + android:layout_marginRight="-4px" | |
67 | + android:layout_weight="1" | |
68 | + android:hint="验证码" | |
69 | + android:numeric="integer" /> | |
70 | + | |
71 | + <Button | |
72 | + android:id="@+id/btn_authcode" | |
73 | + style="@style/login_register_btn_authcode_rect_style" | |
74 | + android:layout_marginLeft="0px" | |
75 | + android:layout_marginTop="0px" | |
76 | + android:layout_weight="2" | |
77 | + android:text="获取验证码" | |
78 | + android:textColor="@color/btn_text_color" /> | |
79 | + </LinearLayout> | |
80 | + | |
81 | + <TextView | |
82 | + android:id="@+id/authcode_error_hint" | |
83 | + style="@style/registererrhint_style" | |
84 | + android:layout_below="@id/rl_authcode" /> | |
85 | + | |
86 | + <RelativeLayout | |
87 | + android:id="@+id/pwd_rl" | |
88 | + android:layout_width="match_parent" | |
89 | + android:layout_height="wrap_content" | |
90 | + android:layout_below="@id/rl_authcode" | |
91 | + android:layout_marginTop="30dp"> | |
92 | + | |
93 | + <EditText | |
94 | + android:id="@+id/et_newpassword" | |
95 | + style="@style/login_register_edit_style" | |
96 | + android:hint="密码为英文和数字组成,最少8位" | |
97 | + android:inputType="textPassword" /> | |
98 | + | |
99 | + <ImageView | |
100 | + android:id="@+id/iv_pwd_change" | |
101 | + style="@style/iv_pwd_change_style" /> | |
102 | + </RelativeLayout> | |
103 | + | |
104 | + <TextView | |
105 | + android:id="@+id/newpassword_error_hint" | |
106 | + style="@style/registererrhint_style" | |
107 | + android:layout_below="@id/pwd_rl" /> | |
108 | + | |
109 | + <EditText | |
110 | + android:id="@+id/et_again_newpassword" | |
111 | + style="@style/login_register_edit_style" | |
112 | + android:layout_below="@id/pwd_rl" | |
113 | + android:layout_marginTop="30dp" | |
114 | + android:hint="再次输入新密码" | |
115 | + android:inputType="textPassword" /> | |
116 | + | |
117 | + <TextView | |
118 | + android:id="@+id/again_newpassword_error_hint" | |
119 | + style="@style/registererrhint_style" | |
120 | + android:layout_below="@id/et_again_newpassword" /> | |
121 | + | |
122 | + <Button | |
123 | + android:id="@+id/btn_ok" | |
124 | + style="@style/button_login_register_style" | |
125 | + android:layout_below="@id/et_again_newpassword" | |
126 | + android:layout_marginTop="30dp" | |
127 | + android:text="确 定" /> | |
128 | + </RelativeLayout> | |
129 | + | |
130 | +</RelativeLayout> | |
0 | 131 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/layout/activity_loginandregister.xml
... | ... | @@ -0,0 +1,39 @@ |
1 | +<?xml version="1.0" encoding="utf-8"?> | |
2 | +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + xmlns:tools="http://schemas.android.com/tools" | |
4 | + android:id="@android:id/tabhost" | |
5 | + android:layout_width="fill_parent" | |
6 | + android:layout_height="fill_parent" | |
7 | + android:background="@color/white" | |
8 | + tools:context="com.hjx.personalcenter.activity.LoginAndRegisterActivity"> | |
9 | + | |
10 | + | |
11 | + <ImageView | |
12 | + android:id="@+id/iv_logo" | |
13 | + android:layout_width="wrap_content" | |
14 | + android:layout_height="wrap_content" | |
15 | + android:layout_centerHorizontal="true" | |
16 | + android:layout_marginTop="55dp" | |
17 | + android:layout_marginBottom="0dp" | |
18 | + android:src="@mipmap/logo" /> | |
19 | + | |
20 | + <LinearLayout | |
21 | + android:layout_width="wrap_content" | |
22 | + android:layout_height="wrap_content" | |
23 | + android:layout_below="@+id/iv_logo" | |
24 | + android:orientation="vertical"> | |
25 | + | |
26 | + <com.hjx.personalcenter.thirdparty.SlidingTabLayout | |
27 | + android:id="@+id/TabLayout_id" | |
28 | + android:layout_width="match_parent" | |
29 | + android:layout_height="50dp"> | |
30 | + </com.hjx.personalcenter.thirdparty.SlidingTabLayout> | |
31 | + | |
32 | + <android.support.v4.view.ViewPager | |
33 | + android:id="@+id/viewpager_login" | |
34 | + android:layout_width="match_parent" | |
35 | + android:layout_height="match_parent" | |
36 | + android:background="@color/white" /> | |
37 | + </LinearLayout> | |
38 | + | |
39 | +</RelativeLayout> | |
0 | 40 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/layout/activity_main.xml
... | ... | @@ -0,0 +1,11 @@ |
1 | +<?xml version="1.0" encoding="utf-8"?> | |
2 | +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + android:layout_width="match_parent" | |
4 | + android:layout_height="match_parent"> | |
5 | + | |
6 | + <TextView | |
7 | + android:id="@+id/ssss" | |
8 | + android:layout_width="wrap_content" | |
9 | + android:layout_height="wrap_content" | |
10 | + android:text="Hello World!" /> | |
11 | +</RelativeLayout> | ... | ... |
PersonalCenter/app/src/main/res/layout/activity_registerinfo.xml
... | ... | @@ -0,0 +1,78 @@ |
1 | +<?xml version="1.0" encoding="utf-8"?> | |
2 | +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + android:layout_width="match_parent" | |
4 | + android:layout_height="match_parent"> | |
5 | + <RelativeLayout | |
6 | + android:id="@+id/title" | |
7 | + android:layout_width="match_parent" | |
8 | + android:layout_height="wrap_content" | |
9 | + android:background="@color/login_text_blue" | |
10 | + android:minHeight="50dp" > | |
11 | + | |
12 | + <ImageView | |
13 | + android:id="@+id/cancel" | |
14 | + android:layout_width="wrap_content" | |
15 | + android:layout_height="wrap_content" | |
16 | + android:layout_centerVertical="true" | |
17 | + android:paddingLeft="20dp" | |
18 | + android:paddingRight="20dp" | |
19 | + android:visibility="gone" | |
20 | + android:src="@mipmap/title_back" /> | |
21 | + | |
22 | + <TextView | |
23 | + android:id="@+id/menu_title" | |
24 | + android:layout_width="wrap_content" | |
25 | + android:layout_height="wrap_content" | |
26 | + android:layout_centerInParent="true" | |
27 | + android:text="@string/string_regist_info" | |
28 | + android:textColor="@android:color/white" | |
29 | + android:textSize="22sp" /> | |
30 | + </RelativeLayout> | |
31 | + <LinearLayout | |
32 | + android:layout_width="match_parent" | |
33 | + android:layout_height="match_parent" | |
34 | + android:layout_below="@id/title" | |
35 | + android:background="#ffffffff" | |
36 | + android:orientation="vertical" | |
37 | + android:paddingLeft="250dp" | |
38 | + android:paddingRight="250dp"> | |
39 | + <EditText | |
40 | + android:id="@+id/et_username" | |
41 | + style="@style/login_register_edit_style" | |
42 | + android:layout_marginTop="100dp" | |
43 | + android:textColor="@color/login_text_black" | |
44 | + android:hint="@string/string_regist_username" /> | |
45 | + <TextView | |
46 | + android:id="@+id/et_region" | |
47 | + style="@style/login_register_edit_style" | |
48 | + android:layout_marginTop="30dp" | |
49 | + android:textColor="@color/login_text_black" | |
50 | + android:hint="@string/string_regist_region" /> | |
51 | + | |
52 | + <TextView | |
53 | + android:id="@+id/et_grade" | |
54 | + style="@style/login_register_edit_style" | |
55 | + android:layout_marginTop="30dp" | |
56 | + android:textColor="@color/login_text_black" | |
57 | + android:hint="@string/string_regist_grade" /> | |
58 | + | |
59 | + <TextView | |
60 | + android:id="@+id/et_school" | |
61 | + style="@style/login_register_edit_style" | |
62 | + android:layout_marginTop="30dp" | |
63 | + android:textColor="@color/login_text_black" | |
64 | + android:hint="@string/string_regist_school" /> | |
65 | + <Button | |
66 | + android:id="@+id/btn_ok" | |
67 | + style="@style/button_login_register_style" | |
68 | + android:layout_marginTop="30dp" | |
69 | + android:text="@string/string_regist_next" /> | |
70 | + | |
71 | + | |
72 | + | |
73 | + </LinearLayout> | |
74 | + | |
75 | + | |
76 | + | |
77 | + | |
78 | +</RelativeLayout> | |
0 | 79 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/layout/fragment_loginandregister_login.xml
... | ... | @@ -0,0 +1,44 @@ |
1 | +<?xml version="1.0" encoding="utf-8"?> | |
2 | +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + android:layout_width="match_parent" | |
4 | + android:layout_height="match_parent" | |
5 | + android:background="#ffffffff" | |
6 | + android:orientation="vertical" | |
7 | + android:paddingLeft="250dp" | |
8 | + android:paddingRight="250dp" > | |
9 | + | |
10 | + | |
11 | + <EditText | |
12 | + android:id="@+id/et_phonenumber" | |
13 | + style="@style/login_register_edit_style" | |
14 | + android:layout_marginTop="20dp" | |
15 | + android:textColor="@color/login_text_black" | |
16 | + android:inputType="phone" | |
17 | + android:hint="手机号" /> | |
18 | + | |
19 | + <EditText | |
20 | + android:id="@+id/et_password" | |
21 | + style="@style/login_register_edit_style" | |
22 | + android:layout_below="@id/et_phonenumber" | |
23 | + android:layout_marginTop="30dp" | |
24 | + android:textColor="@color/login_text_black" | |
25 | + android:hint="密码" | |
26 | + android:inputType="textPassword" /> | |
27 | + | |
28 | + <Button | |
29 | + android:id="@+id/btn_login" | |
30 | + style="@style/button_login_register_style" | |
31 | + android:layout_below="@id/et_password" | |
32 | + android:layout_marginTop="30dp" | |
33 | + android:text="登 录" /> | |
34 | + | |
35 | + <TextView | |
36 | + android:id="@+id/tv_forget_pwd" | |
37 | + style="@style/text_forget_pwd_style" | |
38 | + android:layout_alignParentRight="true" | |
39 | + android:layout_below="@id/btn_login" | |
40 | + android:layout_marginTop="15dp" | |
41 | + android:text="@string/forget_pwd" | |
42 | + android:textColor="@color/btn_text_color" /> | |
43 | + | |
44 | +</RelativeLayout> | |
0 | 45 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/layout/fragment_loginandregister_register.xml
... | ... | @@ -0,0 +1,83 @@ |
1 | +<?xml version="1.0" encoding="utf-8"?> | |
2 | +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + android:layout_width="match_parent" | |
4 | + android:layout_height="match_parent" | |
5 | + android:background="#ffffffff" | |
6 | + android:orientation="vertical" | |
7 | + android:paddingLeft="250dp" | |
8 | + android:paddingRight="250dp"> | |
9 | + | |
10 | + <EditText | |
11 | + android:id="@+id/et_phonenumber" | |
12 | + style="@style/login_register_edit_style" | |
13 | + android:layout_marginTop="20dp" | |
14 | + android:hint="手机号" | |
15 | + android:inputType="phone" /> | |
16 | + | |
17 | + <TextView | |
18 | + android:id="@+id/phonenumber_error_hint" | |
19 | + style="@style/registererrhint_style" | |
20 | + android:layout_below="@id/et_phonenumber" /> | |
21 | + | |
22 | + <LinearLayout | |
23 | + android:id="@+id/rl_authcode" | |
24 | + android:layout_width="match_parent" | |
25 | + android:layout_height="wrap_content" | |
26 | + android:layout_below="@id/et_phonenumber" | |
27 | + android:layout_marginTop="30dp" | |
28 | + android:orientation="horizontal"> | |
29 | + | |
30 | + <EditText | |
31 | + android:id="@+id/et_authcode" | |
32 | + style="@style/login_register_edit_rect_style" | |
33 | + android:layout_marginRight="-4px" | |
34 | + android:layout_weight="1" | |
35 | + android:hint="验证码" | |
36 | + android:numeric="integer" /> | |
37 | + | |
38 | + <Button | |
39 | + android:id="@+id/btn_authcode" | |
40 | + style="@style/login_register_btn_authcode_rect_style" | |
41 | + android:layout_marginLeft="0px" | |
42 | + android:layout_marginTop="0px" | |
43 | + android:layout_weight="2" | |
44 | + android:text="获取验证码" | |
45 | + android:textColor="@color/btn_text_color" /> | |
46 | + </LinearLayout> | |
47 | + | |
48 | + <TextView | |
49 | + android:id="@+id/authcode_error_hint" | |
50 | + style="@style/registererrhint_style" | |
51 | + android:layout_below="@id/rl_authcode" /> | |
52 | + | |
53 | + <RelativeLayout | |
54 | + android:id="@+id/pwd_rl" | |
55 | + android:layout_width="match_parent" | |
56 | + android:layout_height="wrap_content" | |
57 | + android:layout_below="@id/rl_authcode" | |
58 | + android:layout_marginTop="30dp"> | |
59 | + | |
60 | + <EditText | |
61 | + android:id="@+id/et_password" | |
62 | + style="@style/login_register_edit_style" | |
63 | + android:hint="密码为英文和数字组成,最少8位" | |
64 | + android:inputType="textPassword" /> | |
65 | + | |
66 | + <ImageView | |
67 | + android:id="@+id/iv_pwd_change" | |
68 | + style="@style/iv_pwd_change_style" /> | |
69 | + </RelativeLayout> | |
70 | + | |
71 | + <TextView | |
72 | + android:id="@+id/password_error_hint" | |
73 | + style="@style/registererrhint_style" | |
74 | + android:layout_below="@id/pwd_rl" /> | |
75 | + | |
76 | + <Button | |
77 | + android:id="@+id/btn_register" | |
78 | + style="@style/button_login_register_style" | |
79 | + android:layout_below="@id/pwd_rl" | |
80 | + android:layout_marginTop="30dp" | |
81 | + android:text="立即注册" /> | |
82 | + | |
83 | +</RelativeLayout> | |
0 | 84 | \ No newline at end of file | ... | ... |
PersonalCenter/app/src/main/res/mipmap-hdpi/ic_launcher.png
3.34 KB
PersonalCenter/app/src/main/res/mipmap-mdpi/ic_launcher.png
2.15 KB
PersonalCenter/app/src/main/res/mipmap-xhdpi/blank.PNG
171 Bytes
PersonalCenter/app/src/main/res/mipmap-xhdpi/ic_launcher.png
4.73 KB
PersonalCenter/app/src/main/res/mipmap-xhdpi/logo.png
21.1 KB
PersonalCenter/app/src/main/res/mipmap-xhdpi/pwd_hide.png
561 Bytes
PersonalCenter/app/src/main/res/mipmap-xhdpi/title_back.png
544 Bytes
PersonalCenter/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
7.54 KB
PersonalCenter/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
4.73 KB
PersonalCenter/app/src/main/res/values-w820dp/dimens.xml
... | ... | @@ -0,0 +1,6 @@ |
1 | +<resources> | |
2 | + <!-- Example customization of dimensions originally defined in res/values/dimens.xml | |
3 | + (such as screen margins) for screens with more than 820dp of available width. This | |
4 | + would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> | |
5 | + <dimen name="activity_horizontal_margin">64dp</dimen> | |
6 | +</resources> | ... | ... |
PersonalCenter/app/src/main/res/values/colors.xml
... | ... | @@ -0,0 +1,13 @@ |
1 | +<?xml version="1.0" encoding="utf-8"?> | |
2 | +<resources> | |
3 | + <color name="colorPrimary">#3F51B5</color> | |
4 | + <color name="colorPrimaryDark">#303F9F</color> | |
5 | + <color name="colorAccent">#FF4081</color> | |
6 | + <color name="white">#ffffffff</color> | |
7 | + <color name="login_edittext_hint">#afafaf</color> | |
8 | + <color name="login_text_blue">#1cb8ff</color> | |
9 | + <color name="login_text_black">#313131</color> | |
10 | + <color name="login_edittext_normal">#d4d4d4</color> | |
11 | + <color name="error_hint">#ED1c24</color> | |
12 | + <color name="login_edittext_pressed">#1cb8ff</color> | |
13 | +</resources> | ... | ... |
PersonalCenter/app/src/main/res/values/dimens.xml
PersonalCenter/app/src/main/res/values/strings.xml
... | ... | @@ -0,0 +1,23 @@ |
1 | +<resources> | |
2 | + <string name="app_name">PersonalCenter</string> | |
3 | + | |
4 | + | |
5 | + | |
6 | + //登录注册 | |
7 | + <string name="cancel">取 消</string> | |
8 | + <string name="ok">确 定</string> | |
9 | + <string name="forget_pwd">忘记密码</string> | |
10 | + <string name="string_menu_title">修改密码</string> | |
11 | + <string name="string_regist_info">填写注册信息</string> | |
12 | + <string name="string_regist_username">用户名</string> | |
13 | + <string name="string_regist_region">地区</string> | |
14 | + <string name="string_regist_grade">年级</string> | |
15 | + <string name="string_regist_school">学校</string> | |
16 | + <string name="string_regist_next">下一步</string> | |
17 | + //电子保卡 | |
18 | + <string name="string_electroniccard_info_title">填写保卡信息</string> | |
19 | + <string name="string_electroniccard_info_change">修改保卡信息</string> | |
20 | + <string name="string_electroniccard_change_bangding">更换绑定</string> | |
21 | + | |
22 | + | |
23 | +</resources> | ... | ... |
PersonalCenter/app/src/main/res/values/styles.xml
... | ... | @@ -0,0 +1,82 @@ |
1 | +<resources> | |
2 | + | |
3 | + <!-- Base application theme. --> | |
4 | + <style name="AppTheme" parent="Theme.AppCompat"> | |
5 | + <!-- Customize your theme here. --> | |
6 | + <item name="colorPrimary">@color/colorPrimary</item> | |
7 | + <item name="colorPrimaryDark">@color/colorPrimaryDark</item> | |
8 | + <item name="colorAccent">@color/colorAccent</item> | |
9 | + </style> | |
10 | + | |
11 | + <style name="login_register_edit_style"> | |
12 | + <item name="android:textSize">19sp</item> | |
13 | + <item name="android:singleLine">true</item> | |
14 | + <item name="android:background">@drawable/selector_edittext_bg</item> | |
15 | + <item name="android:layout_width">match_parent</item> | |
16 | + <item name="android:layout_height">wrap_content</item> | |
17 | + <item name="android:textColorHint">@color/login_edittext_hint</item> | |
18 | + <item name="android:padding">10dp</item> | |
19 | + </style> | |
20 | + | |
21 | + <style name="login_register_edit_rect_style"> | |
22 | + <item name="android:textSize">19sp</item> | |
23 | + <item name="android:singleLine">true</item> | |
24 | + <item name="android:background">@drawable/selector_edittext_rect_bg</item> | |
25 | + <item name="android:layout_width">match_parent</item> | |
26 | + <item name="android:layout_height">wrap_content</item> | |
27 | + <item name="android:textColorHint">@color/login_edittext_hint</item> | |
28 | + <item name="android:padding">10dp</item> | |
29 | + </style> | |
30 | + | |
31 | + <style name="login_register_btn_authcode_rect_style"> | |
32 | + <item name="android:textSize">19sp</item> | |
33 | + <item name="android:singleLine">true</item> | |
34 | + <item name="android:background">@drawable/btn_rect_normal</item> | |
35 | + <item name="android:layout_width">match_parent</item> | |
36 | + <item name="android:layout_height">wrap_content</item> | |
37 | + <item name="android:textColorHint">@color/login_edittext_hint</item> | |
38 | + <item name="android:padding">10dp</item> | |
39 | + </style> | |
40 | + <style name="text_login_register_style" > | |
41 | + <item name="android:layout_width">wrap_content</item> | |
42 | + <item name="android:layout_height">wrap_content</item> | |
43 | + <item name="android:textSize">22sp</item> | |
44 | + <item name="android:gravity">center</item> | |
45 | + <item name="android:padding">10dp</item> | |
46 | + </style> | |
47 | + <style name="button_login_register_style"> | |
48 | + <item name="android:layout_width">match_parent</item> | |
49 | + <item name="android:layout_height">wrap_content</item> | |
50 | + <item name="android:background">@drawable/selector_blue_btn_bg</item> | |
51 | + <item name="android:textSize">23sp</item> | |
52 | + <item name="android:gravity">center</item> | |
53 | + <item name="android:padding">10dp</item> | |
54 | + <item name="android:textColor">@android:color/white</item> | |
55 | + </style> | |
56 | + <style name="text_forget_pwd_style" > | |
57 | + <item name="android:layout_width">wrap_content</item> | |
58 | + <item name="android:layout_height">wrap_content</item> | |
59 | + <item name="android:textSize">18sp</item> | |
60 | + <item name="android:gravity">center</item> | |
61 | + <item name="android:padding">8dp</item> | |
62 | + </style> | |
63 | + <style name="registererrhint_style"> | |
64 | + <item name="android:textSize">14dip</item> | |
65 | + <item name="android:layout_width">match_parent</item> | |
66 | + <item name="android:layout_height">wrap_content</item> | |
67 | + <item name="android:textColor">@color/error_hint</item> | |
68 | + <item name="android:layout_marginTop">5dip</item> | |
69 | + </style> | |
70 | + <style name="iv_pwd_change_style"> | |
71 | + <item name="android:layout_width">wrap_content</item> | |
72 | + <item name="android:layout_height">wrap_content</item> | |
73 | + <item name="android:background">@mipmap/pwd_hide</item> | |
74 | + <item name="android:layout_alignParentRight">true</item> | |
75 | + <item name="android:layout_centerVertical">true</item> | |
76 | + <item name="android:layout_marginRight">15dp</item> | |
77 | + </style> | |
78 | + | |
79 | + | |
80 | + | |
81 | + | |
82 | +</resources> | ... | ... |
PersonalCenter/app/src/test/java/com/hjx/personalcenter/ExampleUnitTest.java
... | ... | @@ -0,0 +1,17 @@ |
1 | +package com.hjx.personalcenter; | |
2 | + | |
3 | +import org.junit.Test; | |
4 | + | |
5 | +import static org.junit.Assert.*; | |
6 | + | |
7 | +/** | |
8 | + * Example local unit test, which will execute on the development machine (host). | |
9 | + * | |
10 | + * @see <a href="http://d.android.com/tools/testing">Testing documentation</a> | |
11 | + */ | |
12 | +public class ExampleUnitTest { | |
13 | + @Test | |
14 | + public void addition_isCorrect() throws Exception { | |
15 | + assertEquals(4, 2 + 2); | |
16 | + } | |
17 | +} | |
0 | 18 | \ No newline at end of file | ... | ... |
PersonalCenter/build.gradle
... | ... | @@ -0,0 +1,23 @@ |
1 | +// Top-level build file where you can add configuration options common to all sub-projects/modules. | |
2 | + | |
3 | +buildscript { | |
4 | + repositories { | |
5 | + jcenter() | |
6 | + } | |
7 | + dependencies { | |
8 | + classpath 'com.android.tools.build:gradle:2.2.2' | |
9 | + | |
10 | + // NOTE: Do not place your application dependencies here; they belong | |
11 | + // in the individual module build.gradle files | |
12 | + } | |
13 | +} | |
14 | + | |
15 | +allprojects { | |
16 | + repositories { | |
17 | + jcenter() | |
18 | + } | |
19 | +} | |
20 | + | |
21 | +task clean(type: Delete) { | |
22 | + delete rootProject.buildDir | |
23 | +} | ... | ... |
PersonalCenter/gradle.properties
... | ... | @@ -0,0 +1,17 @@ |
1 | +# Project-wide Gradle settings. | |
2 | + | |
3 | +# IDE (e.g. Android Studio) users: | |
4 | +# Gradle settings configured through the IDE *will override* | |
5 | +# any settings specified in this file. | |
6 | + | |
7 | +# For more details on how to configure your build environment visit | |
8 | +# http://www.gradle.org/docs/current/userguide/build_environment.html | |
9 | + | |
10 | +# Specifies the JVM arguments used for the daemon process. | |
11 | +# The setting is particularly useful for tweaking memory settings. | |
12 | +org.gradle.jvmargs=-Xmx1536m | |
13 | + | |
14 | +# When configured, Gradle will run in incubating parallel mode. | |
15 | +# This option should only be used with decoupled projects. More details, visit | |
16 | +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects | |
17 | +# org.gradle.parallel=true | ... | ... |
PersonalCenter/gradle/wrapper/gradle-wrapper.jar
No preview for this file type
PersonalCenter/gradle/wrapper/gradle-wrapper.properties
PersonalCenter/gradlew
... | ... | @@ -0,0 +1,160 @@ |
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 "$@" | ... | ... |
PersonalCenter/gradlew.bat
... | ... | @@ -0,0 +1,90 @@ |
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 | ... | ... |
PersonalCenter/settings.gradle
... | ... | @@ -0,0 +1 @@ |
1 | +include ':app' | ... | ... |