From bc5e86069ac4fab8e9899a7e68b1389265d0160d Mon Sep 17 00:00:00 2001 From: WMJ Date: Sat, 29 Apr 2017 21:39:06 +0800 Subject: [PATCH] =?UTF-8?q?+=E6=B7=BB=E5=8A=A0=E6=B4=BB=E5=8A=A8=E7=9A=84?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=E9=99=A4=E4=BA=86=E6=88=90=E5=91=98=E6=8E=A7?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Client/.directory | 4 +- Client/.idea/misc.xml | 2 +- Client/app/build.gradle | 1 + .../timemanager/InnerLayer/Package.java | 7 ++ .../timemanager/surface/MainActivity.java | 9 ++ .../activitiesFragment/Activities.java | 12 ++ .../activitiesFragment/NewActivityDialog.java | 113 ++++++++++++++++++ .../main/res/layout/fragment_activities.xml | 28 ++++- .../main/res/layout/new_activity_dialog.xml | 77 ++++++++++++ .../main/res/values/activities/strings.xml | 4 - Client/app/src/main/res/values/strings.xml | 2 + Client/build.gradle | 2 + 12 files changed, 252 insertions(+), 9 deletions(-) create mode 100644 Client/app/src/main/java/wesayallright/timemanager/surface/activitiesFragment/NewActivityDialog.java create mode 100644 Client/app/src/main/res/layout/new_activity_dialog.xml delete mode 100644 Client/app/src/main/res/values/activities/strings.xml diff --git a/Client/.directory b/Client/.directory index 6cc03e7..7da1c60 100644 --- a/Client/.directory +++ b/Client/.directory @@ -1,6 +1,6 @@ [Dolphin] -Timestamp=2017,4,18,16,56,55 -Version=3 +Timestamp=2017,4,29,15,41,58 +Version=4 [Settings] HiddenFilesShown=true diff --git a/Client/.idea/misc.xml b/Client/.idea/misc.xml index 19d49aa..7a8605d 100644 --- a/Client/.idea/misc.xml +++ b/Client/.idea/misc.xml @@ -37,7 +37,7 @@ - + diff --git a/Client/app/build.gradle b/Client/app/build.gradle index cacd543..964e414 100644 --- a/Client/app/build.gradle +++ b/Client/app/build.gradle @@ -40,6 +40,7 @@ dependencies { compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.github.lzyzsd.randomcolor:library:1.0.0' compile 'com.android.support:design:25.3.1' + compile 'com.android.support:percent:25.3.1' //compile 'com.android.support.constraint:constraint-layout:1.0.2' //testCompile 'junit:junit:4.12' //compile 'com.google.code.findbugs:jsr305:2.0.1' diff --git a/Client/app/src/main/java/wesayallright/timemanager/InnerLayer/Package.java b/Client/app/src/main/java/wesayallright/timemanager/InnerLayer/Package.java index 18a7a3f..4b12054 100644 --- a/Client/app/src/main/java/wesayallright/timemanager/InnerLayer/Package.java +++ b/Client/app/src/main/java/wesayallright/timemanager/InnerLayer/Package.java @@ -2,6 +2,9 @@ package wesayallright.timemanager.InnerLayer; import org.w3c.dom.Document; +import java.text.DateFormat; +import java.util.Calendar; + /** * Created by mj on 17-4-19. * 全局变量类 @@ -12,4 +15,8 @@ public class Package { //public static GroupList groups; public static User currentUser; public static boolean debug; + public static DateFormat dateFormatter; + public static DateFormat timeFormatter; + public static DateFormat dateTimeFormatter; + public static Calendar today; } diff --git a/Client/app/src/main/java/wesayallright/timemanager/surface/MainActivity.java b/Client/app/src/main/java/wesayallright/timemanager/surface/MainActivity.java index ce94815..6e17ade 100644 --- a/Client/app/src/main/java/wesayallright/timemanager/surface/MainActivity.java +++ b/Client/app/src/main/java/wesayallright/timemanager/surface/MainActivity.java @@ -12,8 +12,12 @@ import android.view.MenuItem; import android.widget.TextView; import java.io.UnsupportedEncodingException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Locale; import wesayallright.timemanager.InnerLayer.LocalFile.LocalFile; +import wesayallright.timemanager.InnerLayer.Package; import wesayallright.timemanager.InnerLayer.User; import wesayallright.timemanager.R; import wesayallright.timemanager.surface.activitiesFragment.Activities; @@ -75,6 +79,11 @@ public class MainActivity extends AppCompatActivity implements e.printStackTrace(); } + Package.dateFormatter = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA); + Package.timeFormatter = new SimpleDateFormat("hh:mm", Locale.CHINA); + Package.dateTimeFormatter = SimpleDateFormat.getDateTimeInstance(); + Package.today = Calendar.getInstance(); + BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation); navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener); diff --git a/Client/app/src/main/java/wesayallright/timemanager/surface/activitiesFragment/Activities.java b/Client/app/src/main/java/wesayallright/timemanager/surface/activitiesFragment/Activities.java index e451403..2e661f6 100644 --- a/Client/app/src/main/java/wesayallright/timemanager/surface/activitiesFragment/Activities.java +++ b/Client/app/src/main/java/wesayallright/timemanager/surface/activitiesFragment/Activities.java @@ -2,6 +2,7 @@ package wesayallright.timemanager.surface.activitiesFragment; import android.content.Context; import android.graphics.Paint; +import android.media.Image; import android.net.Uri; import android.os.Bundle; import android.support.v4.app.Fragment; @@ -10,6 +11,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; +import android.widget.ImageView; import android.widget.ListView; import android.widget.Toast; @@ -83,6 +85,14 @@ public class Activities extends Fragment { JoinDialog.show(getActivity(), activitiesData.get(position)); } }); + + ImageView plus = (ImageView)v.findViewById(R.id.nad_plus); + plus.setOnClickListener(new ImageView.OnClickListener() { + public void onClick(View v) { + NewActivityDialog.NewActivity(getActivity()); + } + + }); return v; } @@ -125,4 +135,6 @@ public class Activities extends Fragment { void onFragmentInteraction(Uri uri); } + + } diff --git a/Client/app/src/main/java/wesayallright/timemanager/surface/activitiesFragment/NewActivityDialog.java b/Client/app/src/main/java/wesayallright/timemanager/surface/activitiesFragment/NewActivityDialog.java new file mode 100644 index 0000000..3ae31a0 --- /dev/null +++ b/Client/app/src/main/java/wesayallright/timemanager/surface/activitiesFragment/NewActivityDialog.java @@ -0,0 +1,113 @@ +package wesayallright.timemanager.surface.activitiesFragment; + +import android.app.Activity; +import android.app.DatePickerDialog; +import android.app.Dialog; +import android.app.TimePickerDialog; +import android.os.Build; +import android.support.annotation.RequiresApi; +import android.support.v7.app.AlertDialog; +import android.util.Log; +import android.view.View; +import android.widget.DatePicker; +import android.widget.EditText; +import android.widget.TextView; +import android.widget.TimePicker; +import android.widget.Toast; + +import org.w3c.dom.Text; + +import wesayallright.timemanager.InnerLayer.Package; +import wesayallright.timemanager.R; + +import java.text.ParseException; +import java.util.Calendar; +import java.util.Date; +import java.util.Locale; +import java.util.zip.Inflater; + +/** + * Created by mj on 17-4-29. + * 添加新活动 + */ + + +abstract public class NewActivityDialog{ + static public void NewActivity(final Activity a) { + AlertDialog.Builder dialog = new AlertDialog.Builder(a); + View v = View.inflate(a, R.layout.new_activity_dialog, null); + TextView title = (TextView)v.findViewById(R.id.nad_top); + final TextView date = (TextView)v.findViewById(R.id.nad_date); + final TextView time = (TextView)v.findViewById(R.id.nad_time); + TextView limit = (TextView)v.findViewById(R.id.nad_limit); + EditText place = (EditText)v.findViewById(R.id.nad_placeBox); + EditText detail = (EditText)v.findViewById(R.id.nad_detail); + + dialog.setTitle("发起一个活动"); + // title.setText("添加新活动"); + final Date today = (Calendar.getInstance()).getTime(); + date.setText(Package.dateFormatter.format(today)); + time.setText(Package.timeFormatter.format(today)); + limit.setText("无限"); + final int[] chosenTime = new int[5]; // 神TM指针 厉害了我的Java + final Calendar c = Package.today;// 获取今天的日期 + chosenTime[0] = c.get(Calendar.YEAR); + chosenTime[1] = c.get(Calendar.MONTH); + chosenTime[2] = c.get(Calendar.DAY_OF_MONTH); + chosenTime[3] = c.get(Calendar.HOUR_OF_DAY); + chosenTime[4] = c.get(Calendar.MINUTE); + + date.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + // 直接创建一个DatePickerDialog对话框实例,并将它显示出来 + DatePickerDialog datePicker = new DatePickerDialog(a, + // 绑定监听器 + new DatePickerDialog.OnDateSetListener() { + + @Override + public void onDateSet(DatePicker view, int year, + int monthOfYear, int dayOfMonth) { + // 选择的日期 + chosenTime[0] = year; + chosenTime[1] = monthOfYear + 1; + chosenTime[2] = dayOfMonth; + date.setText(String.format(Locale.CHINA, "%04d-%02d-%02d", + chosenTime[0], chosenTime[1], chosenTime[2])); + } + } + // 设置初始日期 + , c.get(Calendar.YEAR), c.get(Calendar.MONTH), c + .get(Calendar.DAY_OF_MONTH)); + datePicker.getDatePicker().setMinDate(System.currentTimeMillis() - 1000); + datePicker.show(); + } + }); + + time.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + TimePickerDialog timePicker = new TimePickerDialog(a, + new TimePickerDialog.OnTimeSetListener() { + @Override + public void onTimeSet(TimePicker view, int hourOfDay, int minute) { + chosenTime[3] = hourOfDay; + chosenTime[4] = minute; + chosenTime[5] = 2; + time.setText(String.format(Locale.CHINA, "%02d:%02d", + chosenTime[3], chosenTime[4])); + } + }, c.get(Calendar.HOUR), c.get(Calendar.MINUTE), true); + timePicker.show(); + } + }); + + dialog.setView(v); + dialog.setNegativeButton("取消", null); + dialog.setPositiveButton("确定", null); + + dialog.show(); + + } +} diff --git a/Client/app/src/main/res/layout/fragment_activities.xml b/Client/app/src/main/res/layout/fragment_activities.xml index 86158f8..0feccad 100644 --- a/Client/app/src/main/res/layout/fragment_activities.xml +++ b/Client/app/src/main/res/layout/fragment_activities.xml @@ -1,11 +1,35 @@ - + + + + + + + - + diff --git a/Client/app/src/main/res/layout/new_activity_dialog.xml b/Client/app/src/main/res/layout/new_activity_dialog.xml new file mode 100644 index 0000000..a87daa4 --- /dev/null +++ b/Client/app/src/main/res/layout/new_activity_dialog.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Client/app/src/main/res/values/activities/strings.xml b/Client/app/src/main/res/values/activities/strings.xml deleted file mode 100644 index 0d2c4cc..0000000 --- a/Client/app/src/main/res/values/activities/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/Client/app/src/main/res/values/strings.xml b/Client/app/src/main/res/values/strings.xml index 80de466..4a2544d 100644 --- a/Client/app/src/main/res/values/strings.xml +++ b/Client/app/src/main/res/values/strings.xml @@ -15,4 +15,6 @@ 加入 组织者将获得您的: + 地点: + 请输入活动描述: diff --git a/Client/build.gradle b/Client/build.gradle index a76f815..19ebe44 100644 --- a/Client/build.gradle +++ b/Client/build.gradle @@ -14,6 +14,8 @@ buildscript { allprojects { repositories { + + maven{url 'http://maven.aliyun.com/nexus/content/groups/public/'} jcenter() } }