diff --git a/README.md b/README.md index c8ea73c..e63761c 100644 --- a/README.md +++ b/README.md @@ -35,10 +35,10 @@ A self-care reminder app. It reminds users to stretch, drink water, to have good **Required Must-have Stories** -* Notify users to stretch, drink water, posture -* Allow users to input custom tasks -* Implement timer for each task -* Show how much time is left on the timer per task +[X] Notify users to stretch, drink water, posture +[X] Allow users to input custom tasks +[ ] Implement timer for each task +[ ] Show how much time is left on the timer per task **Optional Nice-to-have Stories** @@ -48,18 +48,18 @@ A self-care reminder app. It reminds users to stretch, drink water, to have good ### 2. Screen Archetypes -* Notify users about tasks (Stream) - * Notify users to stretch, drink water, posture - * Allow users to input custom tasks - * Implement timer for each task -* Calender/Scheduler (Profile/Detail) - * User can press on date to see what reminders are on that day - * Full calender view of month -* Creating new tasks (Creation) - * Name of task - * Date/time +[X] Notify users about tasks (Stream) + [X] Notify users to stretch, drink water, posture + [X] Allow users to input custom tasks + [X] Implement timer for each task +[X] Calender/Scheduler (Profile/Detail) + [X] User can press on date to see what reminders are on that day + [X] Full calender view of month +[X] Creating new tasks (Creation) + [X] Name of task + [X] Date/time * Frequency (how often the timer goes off, if needed) - * Extra notes + [X] Extra notes * Point Shop/Usage * Use the points gained from keeping up with schedule to get/customize avatars @@ -142,3 +142,6 @@ A self-care reminder app. It reminds users to stretch, drink water, to have good #### Walkthrough Sprint 3 Video Walkthrough + +#### Walkthrough Sprint 4 +Video Walkthrough diff --git a/app/src/main/java/com/example/myapplication/ItemViewModel.java b/app/src/main/java/com/example/myapplication/ItemViewModel.java new file mode 100644 index 0000000..95c9cd4 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/ItemViewModel.java @@ -0,0 +1,17 @@ +package com.example.myapplication; + +import android.content.ClipData; + +import androidx.lifecycle.LiveData; +import androidx.lifecycle.MutableLiveData; +import androidx.lifecycle.ViewModel; + +public class ItemViewModel extends ViewModel { + private final MutableLiveData selectedItem = new MutableLiveData(); + public void selectItem(ClipData.Item item) { + selectedItem.setValue(item); + } + public LiveData getSelectedItem() { + return selectedItem; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/MainActivity.java b/app/src/main/java/com/example/myapplication/MainActivity.java index 67558e7..9de79d5 100644 --- a/app/src/main/java/com/example/myapplication/MainActivity.java +++ b/app/src/main/java/com/example/myapplication/MainActivity.java @@ -1,8 +1,8 @@ package com.example.myapplication; -import android.content.Context; import android.content.Intent; import android.os.Bundle; +import android.util.Log; import android.view.MenuItem; import androidx.annotation.NonNull; @@ -15,11 +15,10 @@ import com.example.myapplication.fragments.ComposeFragment; import com.google.android.material.bottomnavigation.BottomNavigationView; -public class MainActivity extends AppCompatActivity { - final FragmentManager fragmentManager = getSupportFragmentManager(); - - Context context; +import org.parceler.Parcels; +public class MainActivity extends AppCompatActivity implements ComposeFragment.OnDataPass { + final FragmentManager fragmentManager = getSupportFragmentManager(); @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -61,11 +60,14 @@ public boolean onNavigationItemSelected(@NonNull MenuItem item) { // do something here fragment = new CalendarFragment(); break; + case R.id.action_reminderlist: + fragment = new ReminderListFragment(); + break; case R.id.action_compose: fragment = new ComposeFragment(); break; - case R.id.action_logout: - fragment = new StretchlistActivity(); + case R.id.action_stretches: + fragment = new StretchListFragment(); break; default: return true; } @@ -79,4 +81,13 @@ public boolean onNavigationItemSelected(@NonNull MenuItem item) { protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); } + + @Override + public void onDataPass(Reminder r) { //todo: pass properly + Bundle bundle = new Bundle(); + bundle.putParcelable("reminder",Parcels.wrap(r)); //todo: figure out why time binds to notes + ReminderListFragment frag = new ReminderListFragment(); + frag.setArguments(bundle); + fragmentManager.beginTransaction().replace(R.id.flContainer,frag).commit(); + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/Remindar.java b/app/src/main/java/com/example/myapplication/Remindar.java new file mode 100644 index 0000000..5d9c36b --- /dev/null +++ b/app/src/main/java/com/example/myapplication/Remindar.java @@ -0,0 +1,59 @@ +package com.example.myapplication; + +public class Remindar { + + private String name; + private String date; + private int hour; + private int min; + private String notes; + + + public Remindar(String name, String date, int hour, int min, String notes){ + this.name = name; + this.date = date; + this.hour = hour; + this.min = min; + this.notes = notes; + } + + public String getName(){ + return name; + } + + public String getDate(){ + return date; + } + + public int getHour(){ + return hour; + } + + public int getMin(){ + return min; + } + + public String getNotes(){ + return notes; + } + + public void setName(String nName){ + name = nName; + } + + public void setDate(String nDate){ + date = nDate; + } + + public void setHour(int nHour){ + hour = nHour; + } + + public void setMin(int nMin){ + min = nMin; + } + + public void setNotes(String nNotes){ + notes = nNotes; + } +} diff --git a/app/src/main/java/com/example/myapplication/RemindarAdapter.java b/app/src/main/java/com/example/myapplication/RemindarAdapter.java new file mode 100644 index 0000000..70903f3 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/RemindarAdapter.java @@ -0,0 +1,79 @@ +package com.example.myapplication; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import java.util.List; + +public class RemindarAdapter extends RecyclerView.Adapter{ + private static final int TYPE = 1; + private final Context context; + private final List listRecyclerItem; + + + public RemindarAdapter(Context context, List listRecyclerItem) { + this.context = context; + this.listRecyclerItem = listRecyclerItem; + } + + @NonNull + @Override + public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int i) { + switch (i) { + case TYPE: + + default: + + View layoutView = LayoutInflater.from(parent.getContext()).inflate( + R.layout.item_reminder, parent, false); + + return new ItemViewHolder((layoutView)); + } + + } + + @Override + public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int i) { + int viewType = getItemViewType(i); + + switch (viewType) { + case TYPE: + default: + + ItemViewHolder itemViewHolder = (ItemViewHolder) holder; + Remindar remindar = (Remindar) listRecyclerItem.get(i); + + itemViewHolder.tvReminder.setText(remindar.getName()); + itemViewHolder.tvRNote.setText(remindar.getNotes()); + itemViewHolder.tvRTime.setText(remindar.getHour()+":"+remindar.getMin()); + } + } + + public class ItemViewHolder extends RecyclerView.ViewHolder { + + ImageView ivIcon; + TextView tvReminder; + TextView tvRNote; + TextView tvRTime; + + public ItemViewHolder(@NonNull View itemView) { + super(itemView); + ivIcon = itemView.findViewById(R.id.ivIcon); + tvReminder = itemView.findViewById(R.id.tvReminder); + tvRNote = itemView.findViewById(R.id.tvRNote); + tvRTime = itemView.findViewById(R.id.tvRTime); + } + } + + @Override + public int getItemCount() { + return listRecyclerItem.size(); + } +} diff --git a/app/src/main/java/com/example/myapplication/Reminder.java b/app/src/main/java/com/example/myapplication/Reminder.java index bfd5c46..80c8b00 100644 --- a/app/src/main/java/com/example/myapplication/Reminder.java +++ b/app/src/main/java/com/example/myapplication/Reminder.java @@ -1,6 +1,12 @@ package com.example.myapplication; -public class Reminder { +import android.os.Parcelable; + +import android.os.Parcel; + +import static java.lang.Integer.valueOf; + +public class Reminder implements Parcelable { private String name; private String date; @@ -36,4 +42,34 @@ public int getMin(){ public String getNotes(){ return notes; } + + //parcel + public Reminder(Parcel in){ + String[] data = new String[5]; + in.readStringArray(data); + this.name = data[0]; + this.date = data[1]; + this.hour = Integer.parseInt(data[2]); + this.min = Integer.parseInt(data[3]); + this.notes = data[4]; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(android.os.Parcel dest, int flags) { + dest.writeStringArray(new String[] {this.name, this.date, Integer.toString(this.hour),Integer.toString(this.min),this.notes}); + } + public static final Parcelable.Creator CREATOR = new Parcelable.Creator(){ + public Reminder createFromParcel(Parcel in){ + return new Reminder(in); + } + + public Reminder[] newArray(int size) { + return new Reminder[size]; + } + }; } diff --git a/app/src/main/java/com/example/myapplication/ReminderAdapter.java b/app/src/main/java/com/example/myapplication/ReminderAdapter.java index 1125c90..6398cb8 100644 --- a/app/src/main/java/com/example/myapplication/ReminderAdapter.java +++ b/app/src/main/java/com/example/myapplication/ReminderAdapter.java @@ -16,7 +16,6 @@ public class ReminderAdapter extends RecyclerView.Adapter reminders; - //pass context & reminders TODO: load in based on date? public ReminderAdapter(Context context, List reminders) { this.context = context; @@ -68,7 +67,7 @@ public ViewHolder(@NonNull View itemView) { ivIcon = itemView.findViewById(R.id.ivIcon); tvReminder = itemView.findViewById(R.id.tvReminder); tvRNote = itemView.findViewById(R.id.tvRNote); - tvRTime = itemView.findViewById(R.id.tvRNote); + tvRTime = itemView.findViewById(R.id.tvRTime); } public void bind(Reminder reminder) { diff --git a/app/src/main/java/com/example/myapplication/ReminderListFragment.java b/app/src/main/java/com/example/myapplication/ReminderListFragment.java new file mode 100644 index 0000000..e161711 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/ReminderListFragment.java @@ -0,0 +1,132 @@ +package com.example.myapplication; + +import android.os.Bundle; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.List; + + + +public class ReminderListFragment extends Fragment { + List reminders; + RecyclerView rvReminders; + ReminderAdapter reminderAdapter; + Reminder newly; + Bundle bundle; + + public static final String TAG = "ReminderListFragment"; + + private RecyclerView mRecyclerView; + private List viewItems = new ArrayList<>(); + + private RecyclerView.Adapter mAdapter; + private RecyclerView.LayoutManager layoutManager; + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.activity_reminderlist, container, false); + /*Log.d("PAIN","Checking if getarguments null:"); //TODO: persist reminders added + if ((getArguments())!= null) { + newly = Parcels.unwrap(this.getArguments().getParcelable("reminder")); + } + else { + Log.d("PAIN","was null"); + } + */ + + mRecyclerView = (RecyclerView) view.findViewById(R.id.rvReminders); + mRecyclerView.setHasFixedSize(true); + + layoutManager = new LinearLayoutManager(view.getContext()); + mRecyclerView.setLayoutManager(layoutManager); + + mAdapter = new RemindarAdapter(view.getContext(), viewItems); + mRecyclerView.setAdapter(mAdapter); + + addItemsFromJSON(); + + return view; + + } + + @Override + public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { + + super.onViewCreated(view, savedInstanceState); + /* + MainActivity activity = (MainActivity) getActivity(); + rvReminders = view.findViewById(R.id.rvReminders); + reminders = new ArrayList<>(); //TODO: prevent reminders being replaced + if (newly !=null) { + reminders.add(newly); + } + reminderAdapter = new ReminderAdapter(view.getContext(), reminders); + rvReminders.setAdapter(reminderAdapter); + rvReminders.setLayoutManager(new LinearLayoutManager(view.getContext())); + */ + + } + + private void addItemsFromJSON() { + try { + String jsonDataString = readJSONDataFromFile(); + JSONArray jsonArray = new JSONArray(jsonDataString); + + for (int i = 0; i < jsonArray.length(); ++i) { + JSONObject itemObj = jsonArray.getJSONObject(i); + String name = itemObj.getString("name"); + String date = itemObj.getString("date"); + String notes = itemObj.getString("notes"); + int min = itemObj.getInt("min"); + int hour = itemObj.getInt("hour"); + + Remindar remindar = new Remindar(name, date, hour, min, notes); + viewItems.add(remindar); + } + } catch (JSONException | IOException e) { + Log.d(TAG, "addItemsFromJson: ", e); + } + } + + private String readJSONDataFromFile() throws IOException { + InputStream inputStream = null; + StringBuilder builder = new StringBuilder(); + + try { + String jsonString = null; + inputStream = getResources().openRawResource(R.raw.remindar); + BufferedReader bufferedReader = new BufferedReader( + new InputStreamReader(inputStream, "UTF-8")); + + while ((jsonString = bufferedReader.readLine()) != null) { + builder.append(jsonString); + } + + } finally { + if (inputStream != null) { + inputStream.close(); + } + } + return new String(builder); + } +} + diff --git a/app/src/main/java/com/example/myapplication/Stretch.java b/app/src/main/java/com/example/myapplication/Stretch.java index fa2fd72..bfc3963 100644 --- a/app/src/main/java/com/example/myapplication/Stretch.java +++ b/app/src/main/java/com/example/myapplication/Stretch.java @@ -28,7 +28,7 @@ public static List createList(){ stretches.add(new Stretch("Yoga Before Bed", "Do this nightly to help ease and relax all your muscles before bed, this can help better" + "your sleep and will help you feel more refreshed/limber the next morning!", R.array.sleep_stretch_routine)); stretches.add(new Stretch("Morning Stretches", "Do this after waking up and before getting entirely ready for the day. This is so you" + - "can feel light on your feet and limber through the day. Helps get rid of that morning stiffness in your muscles, only takes a few minutes each morning!", R.drawable.red_circle)); + "can feel light on your feet and limber through the day. Helps get rid of that morning stiffness in your muscles, only takes a few minutes each morning!", R.array.morning_stretch_routine)); return stretches; } diff --git a/app/src/main/java/com/example/myapplication/StretchDetailActvity.java b/app/src/main/java/com/example/myapplication/StretchDetailActvity.java index 1286a3c..96bef9b 100644 --- a/app/src/main/java/com/example/myapplication/StretchDetailActvity.java +++ b/app/src/main/java/com/example/myapplication/StretchDetailActvity.java @@ -1,6 +1,8 @@ package com.example.myapplication; +import android.content.Intent; import android.content.res.TypedArray; +import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.view.View; @@ -19,25 +21,29 @@ public class StretchDetailActvity extends AppCompatActivity { TextView timer; ImageView ivExercise; Button startBtn; + Button btShare; private boolean stop = false; - private Integer a = 5; + private Integer a = 8; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.stretch_detail_actvity); + setContentView(R.layout.activity_stretchdetail); tvDetailName = findViewById(R.id.tvDetailName); tvDescription = findViewById(R.id.tvDescription); ivExercise = findViewById(R.id.ivExercise); timer = findViewById(R.id.timer); startBtn = findViewById(R.id.start); + btShare = findViewById(R.id.btShare); + Stretch stretch = Parcels.unwrap(getIntent().getParcelableExtra("stretch")); tvDescription.setText(stretch.getDescription()); tvDetailName.setText(stretch.getName()); + btShare.setVisibility(View.GONE); TypedArray imgs = getResources().obtainTypedArray(stretch.getDisplay()); TypedArray completed = getResources().obtainTypedArray(R.array.completed); @@ -65,6 +71,7 @@ public void run() { stop = true; timer.setVisibility(View.GONE); ivExercise.setImageResource(completed.getResourceId(0,0)); + btShare.setVisibility(View.VISIBLE); } //the countdown timer @@ -77,12 +84,21 @@ public void run() { if (a == -1) { ivExercise.setImageResource(imgs.getResourceId(i, 0)); i++; - a = 5; + a = 8; } } }; handler.postDelayed(runnable, 0); //for initial delay.. } }); + + btShare.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent tweet = new Intent(Intent.ACTION_VIEW); + tweet.setData(Uri.parse("https://twitter.com/intent/tweet?text=" + Uri.encode("Just finished doing my ") + Uri.encode(stretch.getName()) + Uri.encode("through the Self Care app!!!"))); + startActivity(tweet); + } + }); } } \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/StretchlistActivity.java b/app/src/main/java/com/example/myapplication/StretchListFragment.java similarity index 86% rename from app/src/main/java/com/example/myapplication/StretchlistActivity.java rename to app/src/main/java/com/example/myapplication/StretchListFragment.java index 27ac1d7..c4ad6fa 100644 --- a/app/src/main/java/com/example/myapplication/StretchlistActivity.java +++ b/app/src/main/java/com/example/myapplication/StretchListFragment.java @@ -8,18 +8,14 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; -import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; -import com.example.myapplication.Stretch; -import com.example.myapplication.StretchAdapter; - import java.util.ArrayList; import java.util.List; -public class StretchlistActivity extends Fragment { +public class StretchListFragment extends Fragment { List stretches; diff --git a/app/src/main/java/com/example/myapplication/fragments/ComposeFragment.java b/app/src/main/java/com/example/myapplication/fragments/ComposeFragment.java index 601b10d..3e42984 100644 --- a/app/src/main/java/com/example/myapplication/fragments/ComposeFragment.java +++ b/app/src/main/java/com/example/myapplication/fragments/ComposeFragment.java @@ -1,5 +1,6 @@ package com.example.myapplication.fragments; +import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; @@ -25,6 +26,21 @@ import java.util.Calendar; public class ComposeFragment extends Fragment { + public interface OnDataPass { + public void onDataPass(Reminder reminder); + } + + OnDataPass dataPasser; + + @Override + public void onAttach(Context context) { + super.onAttach(context); + dataPasser = (OnDataPass) context; + } + + public void passData(Reminder reminder) { + dataPasser.onDataPass(reminder); + } public static final String TAG = "ComposeFragment"; private EditText etName; @@ -44,6 +60,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, @Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); + Spinner spinner = (Spinner) getView().findViewById(R.id.spinnerTask); // Create an ArrayAdapter using the string array and a default spinner layout ArrayAdapter adapter = ArrayAdapter.createFromResource(this.getActivity(), @@ -101,13 +118,8 @@ public void onClick(View v) { .build(); Toast.makeText(getContext(), "Reminder created!", Toast.LENGTH_SHORT).show(); - goMainActivity(); + passData(created); } }); } - - private void goMainActivity() { - Intent i = new Intent(getContext(), MainActivity.class); - startActivity(i); - } } diff --git a/app/src/main/res/drawable/deskstretch.png b/app/src/main/res/drawable/deskstretch.png new file mode 100644 index 0000000..e52c41a Binary files /dev/null and b/app/src/main/res/drawable/deskstretch.png differ diff --git a/app/src/main/res/drawable/ic_baseline_add_circle_outline_24.xml b/app/src/main/res/drawable/ic_baseline_add_circle_outline_24.xml new file mode 100644 index 0000000..f6facb8 --- /dev/null +++ b/app/src/main/res/drawable/ic_baseline_add_circle_outline_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_baseline_check_box_24.xml b/app/src/main/res/drawable/ic_baseline_check_box_24.xml new file mode 100644 index 0000000..bc93aa0 --- /dev/null +++ b/app/src/main/res/drawable/ic_baseline_check_box_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_baseline_face_24.xml b/app/src/main/res/drawable/ic_baseline_face_24.xml new file mode 100644 index 0000000..e5ad8f1 --- /dev/null +++ b/app/src/main/res/drawable/ic_baseline_face_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_baseline_home_24.xml b/app/src/main/res/drawable/ic_baseline_home_24.xml new file mode 100644 index 0000000..a366230 --- /dev/null +++ b/app/src/main/res/drawable/ic_baseline_home_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/morning1.png b/app/src/main/res/drawable/morning1.png new file mode 100644 index 0000000..98125aa Binary files /dev/null and b/app/src/main/res/drawable/morning1.png differ diff --git a/app/src/main/res/drawable/morning2.png b/app/src/main/res/drawable/morning2.png new file mode 100644 index 0000000..d099e91 Binary files /dev/null and b/app/src/main/res/drawable/morning2.png differ diff --git a/app/src/main/res/drawable/morning3.png b/app/src/main/res/drawable/morning3.png new file mode 100644 index 0000000..486cd4e Binary files /dev/null and b/app/src/main/res/drawable/morning3.png differ diff --git a/app/src/main/res/drawable/morning4.png b/app/src/main/res/drawable/morning4.png new file mode 100644 index 0000000..e18c267 Binary files /dev/null and b/app/src/main/res/drawable/morning4.png differ diff --git a/app/src/main/res/drawable/morning5.png b/app/src/main/res/drawable/morning5.png new file mode 100644 index 0000000..bc3313c Binary files /dev/null and b/app/src/main/res/drawable/morning5.png differ diff --git a/app/src/main/res/drawable/morningstretch.jpg b/app/src/main/res/drawable/morningstretch.jpg new file mode 100644 index 0000000..9786a2e Binary files /dev/null and b/app/src/main/res/drawable/morningstretch.jpg differ diff --git a/app/src/main/res/drawable/yogebeforebed.jpg b/app/src/main/res/drawable/yogebeforebed.jpg new file mode 100644 index 0000000..8053b62 Binary files /dev/null and b/app/src/main/res/drawable/yogebeforebed.jpg differ diff --git a/app/src/main/res/layout/activity_mood.xml b/app/src/main/res/layout/activity_mood.xml index 808fc1a..5dd7f9b 100644 --- a/app/src/main/res/layout/activity_mood.xml +++ b/app/src/main/res/layout/activity_mood.xml @@ -20,5 +20,16 @@ android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="239dp" - android:text="submit" /> + android:text="submit" + android:textSize="18sp" /> + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_reminderlist.xml b/app/src/main/res/layout/activity_reminderlist.xml new file mode 100644 index 0000000..8471d18 --- /dev/null +++ b/app/src/main/res/layout/activity_reminderlist.xml @@ -0,0 +1,16 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/stretch_detail_actvity.xml b/app/src/main/res/layout/activity_stretchdetail.xml similarity index 70% rename from app/src/main/res/layout/stretch_detail_actvity.xml rename to app/src/main/res/layout/activity_stretchdetail.xml index 331b861..b8b429e 100644 --- a/app/src/main/res/layout/stretch_detail_actvity.xml +++ b/app/src/main/res/layout/activity_stretchdetail.xml @@ -4,6 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" + android:layout_margin="5dp" android:orientation="vertical" tools:context=".StretchDetailActvity"> @@ -11,7 +12,12 @@ android:id="@+id/tvDetailName" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginTop="5dp" + android:layout_marginBottom="5dp" + android:fontFamily="sans-serif-light" + android:textAlignment="center" android:textSize="25dp" + android:textStyle="bold" tools:text="Name" /> + android:textAlignment="center" + android:textSize="20sp" + android:textStyle="bold" />