Version 3.1(After Revision):
Added Lihat Laporan Button in dashboard to move into the new Chart Added Indonesia Full Translation Full
This commit is contained in:
@ -15,7 +15,7 @@
|
||||
android:theme="@style/Theme.HealthJournal"
|
||||
tools:targetApi="31" >
|
||||
<activity
|
||||
android:name=".ui.laporan"
|
||||
android:name=".ui.laporan.laporan"
|
||||
android:exported="false" />
|
||||
<activity
|
||||
android:name=".laporan"
|
||||
|
@ -11,19 +11,17 @@ import android.widget.Toast
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.google.android.material.bottomnavigation.BottomNavigationView
|
||||
import com.google.firebase.Firebase
|
||||
import com.google.firebase.auth.FirebaseAuth
|
||||
import com.google.firebase.database.DataSnapshot
|
||||
import com.google.firebase.database.DatabaseError
|
||||
import com.google.firebase.database.FirebaseDatabase
|
||||
import com.google.firebase.database.ValueEventListener
|
||||
import com.google.firebase.database.database
|
||||
import com.healthjournal.R
|
||||
import com.healthjournal.data.ResultData
|
||||
import com.healthjournal.databinding.ActivityMainBinding
|
||||
import com.healthjournal.receiver.ReminderReceiver
|
||||
import com.healthjournal.ui.journal.input.JournalInputActivity
|
||||
import com.healthjournal.ui.laporan
|
||||
import com.healthjournal.ui.laporan.laporan
|
||||
import com.healthjournal.ui.login.LoginActivity
|
||||
import com.healthjournal.ui.profile.ProfileActivity
|
||||
import com.healthjournal.ui.recommendation.RecommendationActivity
|
||||
@ -148,9 +146,15 @@ class MainActivity : AppCompatActivity() {
|
||||
binding.btnRecomendation.setOnClickListener {
|
||||
startActivity(Intent(this, RecommendationActivity::class.java))
|
||||
}
|
||||
|
||||
binding.btnInputData.setOnClickListener {
|
||||
startActivity(Intent(this, JournalInputActivity::class.java))
|
||||
if (dailyReport) {
|
||||
Toast.makeText(this, "Laporan harian sudah dibuat", Toast.LENGTH_SHORT).show()
|
||||
} else {
|
||||
startActivity(Intent(this, JournalInputActivity::class.java))
|
||||
}
|
||||
}
|
||||
|
||||
binding.btnReport.setOnClickListener {
|
||||
val intent = Intent(this, laporan::class.java)
|
||||
intent.putExtra("healthDataList", ArrayList(healthDataList))
|
||||
@ -184,6 +188,7 @@ class MainActivity : AppCompatActivity() {
|
||||
binding.clDailyReport1.visibility = View.INVISIBLE
|
||||
binding.clDailyReport2.visibility = View.VISIBLE
|
||||
binding.btnRecomendation.visibility = View.VISIBLE
|
||||
binding.btnInputData.visibility = View.GONE
|
||||
binding.ivCuboidIndicator1Green.visibility = View.VISIBLE
|
||||
binding.ivCuboidIndicator2Green.visibility = View.VISIBLE
|
||||
binding.ivCuboidIndicator1Orange.visibility = View.INVISIBLE
|
||||
@ -192,6 +197,7 @@ class MainActivity : AppCompatActivity() {
|
||||
binding.clDailyReport1.visibility = View.VISIBLE
|
||||
binding.clDailyReport2.visibility = View.INVISIBLE
|
||||
binding.btnRecomendation.visibility = View.GONE
|
||||
binding.btnInputData.visibility = View.VISIBLE
|
||||
binding.ivCuboidIndicator1Green.visibility = View.INVISIBLE
|
||||
binding.ivCuboidIndicator2Green.visibility = View.INVISIBLE
|
||||
binding.ivCuboidIndicator1Orange.visibility = View.VISIBLE
|
||||
|
@ -3,15 +3,10 @@ package com.healthjournal.ui.journal.detail
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.widget.Toast
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import com.google.firebase.Firebase
|
||||
import com.google.firebase.auth.FirebaseAuth
|
||||
import com.google.firebase.database.database
|
||||
import com.healthjournal.R
|
||||
import com.healthjournal.data.ResultData
|
||||
import com.google.firebase.database.ktx.database
|
||||
import com.google.firebase.ktx.Firebase
|
||||
import com.healthjournal.databinding.ActivityDetailJournalBinding
|
||||
|
||||
class DetailJournalActivity : AppCompatActivity() {
|
||||
@ -45,6 +40,7 @@ class DetailJournalActivity : AppCompatActivity() {
|
||||
else -> "$completedGoals/$totalGoals goals completed"
|
||||
}
|
||||
}
|
||||
|
||||
private fun populateDetailJournal() {
|
||||
val userID = user.currentUser?.uid
|
||||
val journalID = intent.getStringExtra("JOURNAL_KEY")
|
||||
@ -56,18 +52,16 @@ class DetailJournalActivity : AppCompatActivity() {
|
||||
val result = task.result
|
||||
if (result.exists()) {
|
||||
val bmiValue = result.child("BMI").value.toString().toFloatOrNull() ?: 0f
|
||||
Log.d("debug", bmiValue.toString())
|
||||
|
||||
binding.tvBloodsugarLevel2.text = "${result.child("bloodSugar").value ?: "N/A"} mg/dL"
|
||||
binding.tvBloodsugarDesc.text = result.child("recommendation").child("bloodSugarAnalysis").value?.toString() ?: "No data"
|
||||
binding.tvBloodpressureLevel2.text = "${result.child("bloodPressureDIA").value ?: "N/A"}/${result.child("bloodPressureSYS").value ?: "N/A"} mm Hg"
|
||||
binding.tvBloodpressureLevel2.text = "${result.child("bloodPressureSYS").value ?: "N/A"}/${result.child("bloodPressureDIA").value ?: "N/A"} mm Hg"
|
||||
binding.tvBloodpressureDesc.text = result.child("recommendation").child("bloodPressureAnalysis").value?.toString() ?: "No data"
|
||||
binding.tvBMILevel2.text = String.format("%.2f BMI", bmiValue)
|
||||
binding.tvBMIDesc.text = result.child("recommendation").child("BMIAnalysis").value?.toString() ?: "No data"
|
||||
binding.tvJournalNote.text = result.child("note").value?.toString() ?: "No notes available"
|
||||
|
||||
val taskListSnapshot = result.child("recommendation").child("tasks")
|
||||
Log.d("debug", taskListSnapshot.toString())
|
||||
val taskList = mutableListOf<Map<String, Any>>()
|
||||
if (taskListSnapshot.exists()) {
|
||||
for (taskSnapshot in taskListSnapshot.children) {
|
||||
@ -90,28 +84,28 @@ class DetailJournalActivity : AppCompatActivity() {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private fun deleteHistory() {
|
||||
val userID = user.currentUser?.uid
|
||||
val journalDate = intent.getStringExtra("JOURNAL_DATE")
|
||||
if (userID != null && journalDate != null) {
|
||||
database.getReference("users").child(userID).child("journal").child(journalDate)
|
||||
val journalID = intent.getStringExtra("JOURNAL_KEY")
|
||||
if (userID != null && journalID != null) {
|
||||
database.getReference("users").child(userID).child("journal").child(journalID)
|
||||
.removeValue()
|
||||
.addOnCompleteListener(DetailJournalActivity()) {
|
||||
.addOnCompleteListener(this) {
|
||||
if (it.isSuccessful) {
|
||||
Toast.makeText(this, "History deleted successfully", Toast.LENGTH_SHORT)
|
||||
.show()
|
||||
Toast.makeText(this, "History deleted successfully", Toast.LENGTH_SHORT).show()
|
||||
finish()
|
||||
} else {
|
||||
Toast.makeText(this, it.exception!!.message, Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(this, it.exception?.message, Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Toast.makeText(this, "Gagal menghapus: ID tidak ditemukan", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupListener() {
|
||||
binding.btnDeleteHistory.setOnClickListener() {
|
||||
binding.btnDeleteHistory.setOnClickListener {
|
||||
deleteHistory()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,9 @@
|
||||
package com.healthjournal.ui
|
||||
package com.healthjournal.ui.laporan
|
||||
|
||||
import MyMarkerView
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.view.MotionEvent
|
||||
import android.widget.ArrayAdapter
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.github.mikephil.charting.charts.LineChart
|
||||
@ -16,7 +15,6 @@ import com.github.mikephil.charting.interfaces.datasets.ILineDataSet
|
||||
import com.github.mikephil.charting.listener.ChartTouchListener
|
||||
import com.github.mikephil.charting.listener.OnChartGestureListener
|
||||
import com.github.mikephil.charting.listener.OnChartValueSelectedListener
|
||||
import com.google.android.material.textfield.MaterialAutoCompleteTextView
|
||||
import com.healthjournal.R
|
||||
import com.healthjournal.data.ResultData
|
||||
import com.healthjournal.ui.journal.detail.DetailJournalActivity
|
@ -1,5 +1,6 @@
|
||||
package com.healthjournal.ui.profile
|
||||
|
||||
import android.app.DatePickerDialog
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
@ -14,6 +15,7 @@ import com.google.firebase.database.database
|
||||
import com.healthjournal.R
|
||||
import com.healthjournal.databinding.ActivityProfileBinding
|
||||
import com.healthjournal.ui.login.LoginActivity
|
||||
import java.util.Calendar
|
||||
|
||||
class ProfileActivity : AppCompatActivity() {
|
||||
private lateinit var binding: ActivityProfileBinding
|
||||
@ -36,15 +38,36 @@ class ProfileActivity : AppCompatActivity() {
|
||||
binding.btnLogout.setOnClickListener {
|
||||
logout()
|
||||
}
|
||||
|
||||
binding.btnUpdateData.setOnClickListener {
|
||||
updateData()
|
||||
}
|
||||
binding.edtDate.setOnClickListener {
|
||||
datepicker()
|
||||
}
|
||||
}
|
||||
|
||||
private fun logout(){
|
||||
private fun datepicker(){
|
||||
val calendar = Calendar.getInstance()
|
||||
val year = calendar.get(Calendar.YEAR)
|
||||
val month = calendar.get(Calendar.MONTH)
|
||||
val day = calendar.get(Calendar.DAY_OF_MONTH)
|
||||
|
||||
val datePickerDialog = DatePickerDialog(
|
||||
this,
|
||||
{ _, selectedYear, selectedMonth, selectedDay ->
|
||||
val selectedDate = "$selectedDay/${selectedMonth + 1}/$selectedYear"
|
||||
binding.edtDate.setText(selectedDate)
|
||||
},
|
||||
year, month, day
|
||||
)
|
||||
datePickerDialog.show()
|
||||
}
|
||||
|
||||
private fun logout() {
|
||||
user.signOut()
|
||||
startActivity(Intent(this, LoginActivity::class.java))
|
||||
val intent = Intent(this, LoginActivity::class.java)
|
||||
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
|
||||
startActivity(intent)
|
||||
finish()
|
||||
}
|
||||
|
||||
@ -81,7 +104,4 @@ class ProfileActivity : AppCompatActivity() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -7,6 +7,7 @@ import android.widget.Toast
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import com.google.firebase.auth.FirebaseAuth
|
||||
import com.healthjournal.databinding.ActivityRegisterBinding
|
||||
import com.healthjournal.ui.login.LoginActivity
|
||||
import com.healthjournal.ui.users.UsersInputActivity
|
||||
|
||||
class RegisterActivity : AppCompatActivity() {
|
||||
@ -26,7 +27,8 @@ class RegisterActivity : AppCompatActivity() {
|
||||
registerUser()
|
||||
}
|
||||
binding.btnLogin.setOnClickListener{
|
||||
|
||||
startActivity(Intent(this@RegisterActivity, LoginActivity::class.java))
|
||||
finish()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -26,7 +26,6 @@ class UsersInputActivity : AppCompatActivity() {
|
||||
user = FirebaseAuth.getInstance()
|
||||
val gender = arrayOf("Male", "Female", "Other")
|
||||
|
||||
// Adapter for conditions
|
||||
val conditionAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, gender)
|
||||
binding.dropdownGender.setAdapter(conditionAdapter)
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/constraintLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="250dp"
|
||||
android:layout_height="265dp"
|
||||
android:background="@drawable/bg_dashboard"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
@ -41,7 +41,7 @@
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.375"
|
||||
app:layout_constraintHorizontal_bias="0.248"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_title" />
|
||||
|
||||
@ -161,25 +161,23 @@
|
||||
android:textColor="@color/Primary_Dark"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="@+id/tv_title"
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
app:layout_constraintStart_toStartOf="@+id/tv_BMI_level1"
|
||||
app:layout_constraintStart_toStartOf="@+id/tv_title"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_BMI_desc" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_goals2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/Accent_Light_Red"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginLeft="2dp"
|
||||
android:textColor="@color/Accent_Light_Red"
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tv_goals1"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
app:layout_constraintStart_toEndOf="@id/tv_goals1"
|
||||
app:layout_constraintTop_toTopOf="@+id/tv_goals1"
|
||||
tools:text="3" />
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="@+id/tv_goals1"
|
||||
app:layout_constraintStart_toStartOf="@+id/tv_goals1"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_goals1"
|
||||
tools:text="Goals Completed" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<TextView
|
||||
|
@ -203,18 +203,24 @@
|
||||
<EditText
|
||||
android:id="@+id/edt_gender"
|
||||
android:visibility="gone"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/edt_age"
|
||||
android:visibility="gone"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/edt_height"
|
||||
android:visibility="gone"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
|
||||
|
@ -240,7 +240,7 @@ z
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginTop="10dp"
|
||||
android:text="Blood Sugar Level : "
|
||||
android:text="Tingkat Gula Darah : "
|
||||
android:textColor="@color/Primary_Light"
|
||||
app:layout_constraintStart_toStartOf="@+id/tv_sub_title_2"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_sub_title_2" />
|
||||
@ -276,7 +276,7 @@ z
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/Primary_Light"
|
||||
android:layout_marginTop="10dp"
|
||||
android:text="Blood Pressure Level : "
|
||||
android:text="Tingkat Tekanan Darah : "
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintStart_toStartOf="@+id/tv_sub_title_2"
|
||||
@ -312,7 +312,7 @@ z
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
android:textColor="@color/Primary_Light"
|
||||
android:text="BMI(Body Mass Index) : "
|
||||
android:text="BMI(Inkes Massa Tubuh) : "
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="@+id/tv_sub_title_2"
|
||||
@ -470,18 +470,18 @@ z
|
||||
android:layout_height="40dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:background="@drawable/bg_button"
|
||||
android:visibility="gone"
|
||||
android:text="Rekomendasi Sekarang"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="14sp"
|
||||
android:visibility="gone"
|
||||
app:backgroundTint="@color/Primary_Light"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.496"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="@+id/fl_daily_counter"
|
||||
app:layout_constraintHorizontal_bias="0.48"
|
||||
app:layout_constraintStart_toStartOf="@+id/fl_daily_counter"
|
||||
app:layout_constraintTop_toBottomOf="@+id/fl_daily_counter"
|
||||
app:layout_constraintVertical_bias="1.0" />
|
||||
app:layout_constraintVertical_bias="0.0" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/btn_report"
|
||||
@ -502,14 +502,12 @@ z
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_health_history"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintBottom_toTopOf="@id/nav_view"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.516"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintTop_toBottomOf="@+id/cl_Health_Report"
|
||||
app:layout_constraintVertical_bias="0.0"
|
||||
tools:itemCount="1"
|
||||
app:layout_constraintBottom_toTopOf="@id/nav_view"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
tools:itemCount="2"
|
||||
tools:listitem="@layout/item_health_history" />
|
||||
|
||||
<ImageView
|
||||
|
@ -1,180 +1,180 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<androidx.core.widget.NestedScrollView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/main"
|
||||
android:id="@+id/nestedScrollView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fillViewport="true"
|
||||
tools:context=".ui.recommendation.RecommendationActivity">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/constraintLayout"
|
||||
android:id="@+id/main"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="255dp"
|
||||
android:background="@drawable/bg_dashboard"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/constraintLayout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="250dp"
|
||||
android:background="@drawable/bg_dashboard"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:text="TODAY HEALTH"
|
||||
android:textAlignment="center"
|
||||
android:textColor="@color/Primary_Dark"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_bloodsugar_level1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="Tingkat Gula Darah :"
|
||||
android:textColor="@color/Primary_Dark"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_title"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.18" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_bloodsugar_level2"
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/Accent_Light_Red"
|
||||
android:textStyle="bold"
|
||||
tools:text="100 mg/dL"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_bloodsugar_level1"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tv_bloodsugar_level1"
|
||||
app:layout_constraintStart_toEndOf="@id/tv_bloodsugar_level1"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.02" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_bloodsugar_desc"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="12sp"
|
||||
tools:text="Your blood sugar level is within the normal range. Maintain a balanced diet and regular exercise."
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_bloodsugar_level1"
|
||||
app:layout_constraintStart_toStartOf="@id/tv_bloodsugar_level1"
|
||||
app:layout_constraintEnd_toEndOf="@id/tv_bloodsugar_level2" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_bloodpressure_level1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="4dp"
|
||||
android:text="Tingkat Tekanan Darah :"
|
||||
android:textColor="@color/Primary_Dark"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_bloodsugar_desc"
|
||||
app:layout_constraintStart_toStartOf="@id/tv_bloodsugar_level1"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.0" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_bloodpressure_level2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/Accent_Light_Red"
|
||||
android:textStyle="bold"
|
||||
tools:text="119/70 mm Hg"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_bloodpressure_level1"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tv_bloodpressure_level1"
|
||||
app:layout_constraintStart_toEndOf="@id/tv_bloodpressure_level1"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.018" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_bloodpressure_desc"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="12sp"
|
||||
tools:text="Your blood sugar level is within the normal range. Maintain a balanced diet and regular exercise."
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_bloodpressure_level1"
|
||||
app:layout_constraintStart_toStartOf="@id/tv_bloodpressure_level1"
|
||||
app:layout_constraintEnd_toEndOf="@id/tv_bloodpressure_level2" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_BMI_level1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="4dp"
|
||||
android:text="BMI (Indeks Massa Tubuh) :"
|
||||
android:textColor="@color/Primary_Dark"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_bloodpressure_desc"
|
||||
app:layout_constraintStart_toStartOf="@id/tv_bloodpressure_level1"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.0" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_BMI_level2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/Accent_Light_Red"
|
||||
android:textStyle="bold"
|
||||
android:maxLength="9"
|
||||
tools:text="22.03 BMI"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_BMI_level1"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tv_BMI_level1"
|
||||
app:layout_constraintStart_toEndOf="@id/tv_BMI_level1"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.02" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_BMI_desc"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="12sp"
|
||||
tools:text="This is still considered an acceptable range, and is associated with good health."
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_BMI_level1"
|
||||
app:layout_constraintStart_toStartOf="@id/tv_BMI_level1"
|
||||
app:layout_constraintEnd_toEndOf="@id/tv_BMI_level2" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_title"
|
||||
android:id="@+id/tv_title_recommendation"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:text="TODAY HEALTH"
|
||||
android:layout_marginTop="16dp"
|
||||
android:text="TODAY REKOMENDASI"
|
||||
android:textAlignment="center"
|
||||
android:textColor="@color/Primary_Dark"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/constraintLayout"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_bloodsugar_level1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:text="Blood Sugar Level :"
|
||||
android:textColor="@color/Primary_Dark"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.375"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_title" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_bloodsugar_level2"
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/Accent_Light_Red"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tv_bloodsugar_level1"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.02"
|
||||
app:layout_constraintStart_toEndOf="@id/tv_bloodsugar_level1"
|
||||
app:layout_constraintTop_toTopOf="@+id/tv_bloodsugar_level1"
|
||||
tools:text="100 mg/dL" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_bloodsugar_desc"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="12sp"
|
||||
app:layout_constraintEnd_toEndOf="@+id/tv_bloodsugar_level2"
|
||||
app:layout_constraintStart_toStartOf="@+id/tv_bloodsugar_level1"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_bloodsugar_level1"
|
||||
tools:text="Your blood sugar level is within the normal range. Maintain a balanced diet and regular exercise." />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_bloodpressure_level1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
android:text="Blood Pressure Level :"
|
||||
android:textColor="@color/Primary_Dark"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.408"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_bloodsugar_desc" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_bloodpressure_level2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:textColor="@color/Accent_Light_Red"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tv_bloodpressure_level1"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.018"
|
||||
app:layout_constraintStart_toEndOf="@id/tv_bloodpressure_level1"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_bloodsugar_desc"
|
||||
tools:text="119/70 mm Hg" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_bloodpressure_desc"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="12sp"
|
||||
app:layout_constraintEnd_toEndOf="@+id/tv_bloodpressure_level2"
|
||||
app:layout_constraintStart_toStartOf="@+id/tv_bloodpressure_level1"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_bloodpressure_level1"
|
||||
tools:text="Your blood sugar level is within the normal range. Maintain a balanced diet and regular exercise." />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_BMI_level1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
android:text="BMI(Body Mass Index) :"
|
||||
android:textColor="@color/Primary_Dark"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.426"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_bloodpressure_desc" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_BMI_level2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:maxLength="9"
|
||||
android:textColor="@color/Accent_Light_Red"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tv_BMI_level1"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.02"
|
||||
app:layout_constraintStart_toEndOf="@id/tv_BMI_level1"
|
||||
app:layout_constraintTop_toTopOf="@+id/tv_BMI_level1"
|
||||
tools:text="22.03 BMI" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_BMI_desc"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="12sp"
|
||||
app:layout_constraintEnd_toEndOf="@+id/tv_BMI_level2"
|
||||
app:layout_constraintStart_toStartOf="@+id/tv_BMI_level1"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_BMI_level1"
|
||||
tools:text="This is still considered an acceptable range, and is associated with good health." />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
<TextView
|
||||
android:id="@+id/tv_title_recommendation"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="4dp"
|
||||
android:text="TODAY RECOMMENDATION"
|
||||
android:textAlignment="center"
|
||||
android:textColor="@color/Primary_Dark"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.498"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/constraintLayout" />
|
||||
|
||||
<ScrollView
|
||||
android:id="@+id/sv_tasks"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_title_recommendation">
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_tasks"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
tools:itemCount="4"
|
||||
tools:listitem="@layout/item_goals_recommendation" />
|
||||
tools:listitem="@layout/item_goals_recommendation"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_title_recommendation"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:nestedScrollingEnabled="false"
|
||||
android:paddingBottom="16dp" />
|
||||
|
||||
</ScrollView>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
Reference in New Issue
Block a user