diff --git a/.idea/misc.xml b/.idea/misc.xml index 37a7509..7bfef59 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + diff --git a/app/build.gradle b/app/build.gradle index 2f29ed0..106d4af 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -20,10 +20,10 @@ android { proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } -// compileOptions { -// sourceCompatibility JavaVersion.VERSION_1_8 -// targetCompatibility JavaVersion.VERSION_1_8 -// } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } } @@ -34,6 +34,7 @@ dependencies { implementation 'com.google.android.material:material:1.0.0' implementation 'androidx.navigation:navigation-fragment:2.1.0' implementation 'androidx.navigation:navigation-ui:2.1.0' + implementation 'androidx.legacy:legacy-support-v4:1.0.0' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test.ext:junit:1.1.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a29c2cd..3659ec9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -12,6 +12,14 @@ android:supportsRtl="true" android:networkSecurityConfig="@xml/network_security_config" android:theme="@style/AppTheme.NoActionBar"> + + + + + + + + @@ -19,11 +27,6 @@ - - - - - diff --git a/app/src/main/java/com/example/myapplication/activity/LoginActivity.java b/app/src/main/java/com/example/myapplication/activity/LoginActivity.java index 5e21383..61aaf86 100644 --- a/app/src/main/java/com/example/myapplication/activity/LoginActivity.java +++ b/app/src/main/java/com/example/myapplication/activity/LoginActivity.java @@ -1,12 +1,23 @@ package com.example.myapplication.activity; +import android.content.Intent; +import android.view.View; +import android.widget.EditText; +import android.widget.TextView; + import com.example.myapplication.R; import com.example.myapplication.base.BaseActivity; /** * 登录页 */ -public class LoginActivity extends BaseActivity { +public class LoginActivity extends BaseActivity implements View.OnClickListener { + private TextView tvRegister; + private android.widget.EditText etLoginName; + private android.widget.EditText etLoginPaw; + private TextView tvForgetPaw; + private TextView tvLogin; + @Override protected int getLayout() { return R.layout.activity_login; @@ -20,5 +31,29 @@ public class LoginActivity extends BaseActivity { @Override protected void initView() { super.initView(); + tvRegister = (TextView) findViewById(R.id.tv_register); + + etLoginName = (EditText) findViewById(R.id.et_login_name); + etLoginPaw = (EditText) findViewById(R.id.et_login_paw); + tvForgetPaw = (TextView) findViewById(R.id.tv_forget_paw); + tvLogin = (TextView) findViewById(R.id.tv_login); + tvRegister.setOnClickListener(this); + tvForgetPaw.setOnClickListener(this); + } + + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.tv_register: + Intent register = new Intent(this, ManagementFragment.class); + register.putExtra("tag", 5); + startActivity(register); + break; + case R.id.tv_forget_paw: + Intent forgetPaw = new Intent(this, ManagementFragment.class); + forgetPaw.putExtra("tag", 6); + startActivity(forgetPaw); + break; + } } } diff --git a/app/src/main/java/com/example/myapplication/activity/MainActivity.java b/app/src/main/java/com/example/myapplication/activity/MainActivity.java index fe10f56..85eee38 100644 --- a/app/src/main/java/com/example/myapplication/activity/MainActivity.java +++ b/app/src/main/java/com/example/myapplication/activity/MainActivity.java @@ -4,6 +4,8 @@ package com.example.myapplication.activity; import androidx.core.app.ActivityCompat; import android.Manifest; +import android.content.Intent; +import android.os.CountDownTimer; import com.example.myapplication.R; import com.example.myapplication.base.BaseActivity; @@ -18,6 +20,19 @@ public class MainActivity extends BaseActivity { @Override protected void initData() { super.initData(); + new CountDownTimer(3000, 1000) { + @Override + public void onTick(long l) { + } + + @Override + public void onFinish() { + Intent intent = new Intent(MainActivity.this, HomeActivity.class); + startActivity(intent); + finish(); + } + }.start(); + } private void initPermission() { String[] pers = { diff --git a/app/src/main/java/com/example/myapplication/activity/ManagementFragment.java b/app/src/main/java/com/example/myapplication/activity/ManagementFragment.java index d2119c8..b597180 100644 --- a/app/src/main/java/com/example/myapplication/activity/ManagementFragment.java +++ b/app/src/main/java/com/example/myapplication/activity/ManagementFragment.java @@ -7,10 +7,13 @@ import android.view.KeyEvent; import com.example.myapplication.R; import com.example.myapplication.base.BaseActivity; import com.example.myapplication.fragment.FindFragment; +import com.example.myapplication.fragment.ForgetPawFragment; import com.example.myapplication.fragment.MineFragment; import com.example.myapplication.fragment.RecordFragment; import com.example.myapplication.fragment.TaskExplainFragment; import com.example.myapplication.fragment.TaskPrefectureFragment; + +import com.example.myapplication.fragment.RegisterFragment; import com.example.myapplication.fragment.TreasureFragment; import com.gyf.immersionbar.ImmersionBar; @@ -33,6 +36,10 @@ public class ManagementFragment extends BaseActivity { private TaskPrefectureFragment taskPrefectureFragment;//发现-任务专区的fragment private TaskExplainFragment taskExplainFragment;//发现-任务说明的fragment + private RegisterFragment registerFragment;//注册的fragment + private ForgetPawFragment forgetPawFragment;//忘记密码fragment + + @Override protected int getLayout() { @@ -60,10 +67,17 @@ public class ManagementFragment extends BaseActivity { fragmentTransaction.hide(recordFragment); if (treasureFragment != null) fragmentTransaction.hide(treasureFragment); + if (taskPrefectureFragment!=null) fragmentTransaction.hide(taskPrefectureFragment); if (taskExplainFragment!=null) fragmentTransaction.hide(taskExplainFragment); + + if (registerFragment != null) + fragmentTransaction.hide(registerFragment); + if (forgetPawFragment != null) + fragmentTransaction.hide(forgetPawFragment); + } public void selectorFragment(int i) { @@ -105,25 +119,42 @@ public class ManagementFragment extends BaseActivity { fragmentTransaction.show(treasureFragment); } break; + case 5: + if (registerFragment == null) { + registerFragment = new RegisterFragment(); + fragmentTransaction.add(R.id.frame_layout, registerFragment); + } else { + fragmentTransaction.show(registerFragment); + } + break; + case 6: + if (forgetPawFragment == null) { + forgetPawFragment = new ForgetPawFragment(); + fragmentTransaction.add(R.id.frame_layout, forgetPawFragment); + } else { + fragmentTransaction.show(forgetPawFragment); + + } + break; case 7: - if (taskPrefectureFragment==null){ - taskPrefectureFragment=new TaskPrefectureFragment(); - fragmentTransaction.add(R.id.frame_layout,taskPrefectureFragment); - }else { + if (taskPrefectureFragment == null) { + taskPrefectureFragment = new TaskPrefectureFragment(); + fragmentTransaction.add(R.id.frame_layout, taskPrefectureFragment); + } else { fragmentTransaction.show(taskPrefectureFragment); } break; case 8: - if (taskExplainFragment==null){ - taskExplainFragment=new TaskExplainFragment(); - fragmentTransaction.add(R.id.frame_layout,taskExplainFragment); - }else { + if (taskExplainFragment == null) { + taskExplainFragment = new TaskExplainFragment(); + fragmentTransaction.add(R.id.frame_layout, taskExplainFragment); + } else { fragmentTransaction.show(taskExplainFragment); - } - break; - } - fragmentTransaction.commit(); + break; + } + fragmentTransaction.commit(); + } } @Override @@ -142,6 +173,12 @@ public class ManagementFragment extends BaseActivity { case 4: treasureFragment.onActivityResult(requestCode, resultCode, data); break; + case 5: + registerFragment.onActivityResult(requestCode, resultCode, data); + break; + case 6: + forgetPawFragment.onActivityResult(requestCode, resultCode, data); + break; case 7: taskPrefectureFragment.onActivityResult(requestCode, resultCode, data); break; @@ -150,10 +187,12 @@ public class ManagementFragment extends BaseActivity { break; } } + private void setZtlTextColor() { ImmersionBar.with(this) .statusBarDarkFont(true, 0.2f) //原理:如果当前设备支持状态栏字体变色,会设置状态栏字体为黑色,如果当前设备不支持状态栏字体变色,会使当前状态栏加上透明度,否则不执行透明度 .init(); } + } diff --git a/app/src/main/java/com/example/myapplication/base/BaseActivity.java b/app/src/main/java/com/example/myapplication/base/BaseActivity.java index 51476ec..77bacd7 100644 --- a/app/src/main/java/com/example/myapplication/base/BaseActivity.java +++ b/app/src/main/java/com/example/myapplication/base/BaseActivity.java @@ -44,10 +44,10 @@ public abstract class BaseActivity extends AppCompatActivity { alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable()); alertDialog.setCancelable(false); alertDialog.setOnKeyListener((dialog, keyCode, event) -> { - if (keyCode == KeyEvent.KEYCODE_SEARCH || keyCode == KeyEvent.KEYCODE_BACK) + if (keyCode == KeyEvent.KEYCODE_SEARCH || keyCode == KeyEvent.KEYCODE_BACK) return true; return false; - }); + }); //loading样式 //View view = LayoutInflater.from(this).inflate(R.layout.loading_alert, null); //alertDialog.setView(view); diff --git a/app/src/main/java/com/example/myapplication/base/BaseFragment.java b/app/src/main/java/com/example/myapplication/base/BaseFragment.java index eb7f081..4238c70 100644 --- a/app/src/main/java/com/example/myapplication/base/BaseFragment.java +++ b/app/src/main/java/com/example/myapplication/base/BaseFragment.java @@ -13,14 +13,15 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.Fragment; +import com.example.myapplication.R; public abstract class BaseFragment extends Fragment { - private AlertDialog alertDialog; public View mView; + @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { @@ -29,6 +30,7 @@ public abstract class BaseFragment extends Fragment { initView(); initData(); return mView; + } protected void initMvp() { @@ -70,6 +72,7 @@ public abstract class BaseFragment extends Fragment { protected void initView() { + } @Override diff --git a/app/src/main/java/com/example/myapplication/bean/TaskSpecificationInfo.java b/app/src/main/java/com/example/myapplication/bean/TaskSpecificationInfo.java new file mode 100644 index 0000000..bb82430 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/bean/TaskSpecificationInfo.java @@ -0,0 +1,5 @@ +package com.example.myapplication.bean; + +public class TaskSpecificationInfo { + +} diff --git a/app/src/main/java/com/example/myapplication/fragment/ForgetPawFragment.java b/app/src/main/java/com/example/myapplication/fragment/ForgetPawFragment.java new file mode 100644 index 0000000..5bfa556 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/fragment/ForgetPawFragment.java @@ -0,0 +1,32 @@ +package com.example.myapplication.fragment; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.example.myapplication.R; +import com.example.myapplication.base.BaseFragment; + +/** + *忘记密码页面 + */ +public class ForgetPawFragment extends BaseFragment { + @Override + protected int getLayout() { + return R.layout.fragment_forget_paw; + } + + @Override + protected void initView() { + super.initView(); + } + + @Override + protected void initData() { + super.initData(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/fragment/RegisterFragment.java b/app/src/main/java/com/example/myapplication/fragment/RegisterFragment.java new file mode 100644 index 0000000..6fb5eb9 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/fragment/RegisterFragment.java @@ -0,0 +1,62 @@ +package com.example.myapplication.fragment; + +import android.view.View; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.TextView; + +import com.example.myapplication.R; +import com.example.myapplication.base.BaseFragment; + +/** + * 注册页面 + */ +public class RegisterFragment extends BaseFragment { + + + private EditText etRegisterPhone; + private EditText etRegisterNote; + private TextView registerGetNote; + private EditText etRegisterReferrer; + private EditText etRegisterPaw; + private EditText etRegisterConfirmPaw; + private ImageView ivRegisterCheck; + private TextView haveGoLogin; + private TextView tvRegister; + private ImageView ivFinish; + + + @Override + protected int getLayout() { + return R.layout.fragment_register; + } + + @Override + protected void initView() { + super.initView(); + ivFinish =mView.findViewById(R.id.iv_finish); + etRegisterPhone = mView.findViewById(R.id.et_register_phone); + etRegisterNote = mView.findViewById(R.id.et_register_note); + registerGetNote = mView.findViewById(R.id.register_get_note); + etRegisterReferrer = mView.findViewById(R.id.et_register_referrer); + etRegisterPaw = mView.findViewById(R.id.et_register_paw); + etRegisterConfirmPaw = mView.findViewById(R.id.et_register_confirm_paw); + ivRegisterCheck = mView.findViewById(R.id.iv_register_check); + haveGoLogin = mView.findViewById(R.id.have_go_login); + tvRegister = mView.findViewById(R.id.tv_register); + ivFinish.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + getActivity().finish(); + } + }); + + } + + + @Override + protected void initData() { + super.initData(); + } + +} \ No newline at end of file diff --git a/app/src/main/res/drawable/select_check.xml b/app/src/main/res/drawable/select_check.xml new file mode 100644 index 0000000..b0c52fb --- /dev/null +++ b/app/src/main/res/drawable/select_check.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_login.xml b/app/src/main/res/drawable/shape_login.xml new file mode 100644 index 0000000..039c308 --- /dev/null +++ b/app/src/main/res/drawable/shape_login.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index 70df88a..3d652ac 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -4,7 +4,6 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@mipmap/bg" tools:context="activity.LoginActivity"> + app:layout_constraintTop_toBottomOf="@id/et_login_paw" /> + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_forget_paw.xml b/app/src/main/res/layout/fragment_forget_paw.xml new file mode 100644 index 0000000..630d6d9 --- /dev/null +++ b/app/src/main/res/layout/fragment_forget_paw.xml @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_register.xml b/app/src/main/res/layout/fragment_register.xml new file mode 100644 index 0000000..fb630b0 --- /dev/null +++ b/app/src/main/res/layout/fragment_register.xml @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/register_title.xml b/app/src/main/res/layout/register_title.xml new file mode 100644 index 0000000..cac9eb5 --- /dev/null +++ b/app/src/main/res/layout/register_title.xml @@ -0,0 +1,28 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-xxhdpi/article.png b/app/src/main/res/mipmap-xxhdpi/article.png new file mode 100644 index 0000000..baa6738 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/article.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/article_select.png b/app/src/main/res/mipmap-xxhdpi/article_select.png new file mode 100644 index 0000000..cb9be12 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/article_select.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/bg.png b/app/src/main/res/mipmap-xxhdpi/bg.png new file mode 100644 index 0000000..2fb924d Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/bg.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/checkbox.png b/app/src/main/res/mipmap-xxhdpi/checkbox.png new file mode 100644 index 0000000..18b7dea Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/checkbox.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/checkbox_checked.png b/app/src/main/res/mipmap-xxhdpi/checkbox_checked.png new file mode 100644 index 0000000..14e9c76 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/checkbox_checked.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/icon_goback.png b/app/src/main/res/mipmap-xxhdpi/icon_goback.png new file mode 100644 index 0000000..7b0fe61 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/icon_goback.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/map.png b/app/src/main/res/mipmap-xxhdpi/map.png new file mode 100644 index 0000000..fd6221f Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/map.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/map_select.png b/app/src/main/res/mipmap-xxhdpi/map_select.png new file mode 100644 index 0000000..f1b76cc Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/map_select.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/mine.png b/app/src/main/res/mipmap-xxhdpi/mine.png new file mode 100644 index 0000000..ab8e6b5 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/mine.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/mine_select.png b/app/src/main/res/mipmap-xxhdpi/mine_select.png new file mode 100644 index 0000000..3530658 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/mine_select.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/task.png b/app/src/main/res/mipmap-xxhdpi/task.png new file mode 100644 index 0000000..e9ef7b6 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/task.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/task_select.png b/app/src/main/res/mipmap-xxhdpi/task_select.png new file mode 100644 index 0000000..08fcd0c Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/task_select.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/checkbox.png b/app/src/main/res/mipmap-xxxhdpi/checkbox.png new file mode 100644 index 0000000..18b7dea Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/checkbox.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/checkbox_checked.png b/app/src/main/res/mipmap-xxxhdpi/checkbox_checked.png new file mode 100644 index 0000000..14e9c76 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/checkbox_checked.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_goback.png b/app/src/main/res/mipmap-xxxhdpi/icon_goback.png new file mode 100644 index 0000000..7b0fe61 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/icon_goback.png differ diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 3ac5e99..13a8a71 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -2,6 +2,7 @@ #6200EE #3700B3 + #03A9F4 #03DAC5 #000000 #FAFAFA diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 89586ef..0fec131 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -9,4 +9,6 @@ Hello first fragment Hello second fragment. Arg: %1$s + + Hello blank fragment \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 877311e..00c0626 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -15,20 +15,10 @@ --> - + - - - - - - - - + \ No newline at end of file