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"
|
android:theme="@style/Theme.HealthJournal"
|
||||||
tools:targetApi="31" >
|
tools:targetApi="31" >
|
||||||
<activity
|
<activity
|
||||||
android:name=".ui.laporan"
|
android:name=".ui.laporan.laporan"
|
||||||
android:exported="false" />
|
android:exported="false" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".laporan"
|
android:name=".laporan"
|
||||||
|
@ -11,19 +11,17 @@ import android.widget.Toast
|
|||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import com.google.android.material.bottomnavigation.BottomNavigationView
|
import com.google.android.material.bottomnavigation.BottomNavigationView
|
||||||
import com.google.firebase.Firebase
|
|
||||||
import com.google.firebase.auth.FirebaseAuth
|
import com.google.firebase.auth.FirebaseAuth
|
||||||
import com.google.firebase.database.DataSnapshot
|
import com.google.firebase.database.DataSnapshot
|
||||||
import com.google.firebase.database.DatabaseError
|
import com.google.firebase.database.DatabaseError
|
||||||
import com.google.firebase.database.FirebaseDatabase
|
import com.google.firebase.database.FirebaseDatabase
|
||||||
import com.google.firebase.database.ValueEventListener
|
import com.google.firebase.database.ValueEventListener
|
||||||
import com.google.firebase.database.database
|
|
||||||
import com.healthjournal.R
|
import com.healthjournal.R
|
||||||
import com.healthjournal.data.ResultData
|
import com.healthjournal.data.ResultData
|
||||||
import com.healthjournal.databinding.ActivityMainBinding
|
import com.healthjournal.databinding.ActivityMainBinding
|
||||||
import com.healthjournal.receiver.ReminderReceiver
|
import com.healthjournal.receiver.ReminderReceiver
|
||||||
import com.healthjournal.ui.journal.input.JournalInputActivity
|
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.login.LoginActivity
|
||||||
import com.healthjournal.ui.profile.ProfileActivity
|
import com.healthjournal.ui.profile.ProfileActivity
|
||||||
import com.healthjournal.ui.recommendation.RecommendationActivity
|
import com.healthjournal.ui.recommendation.RecommendationActivity
|
||||||
@ -148,9 +146,15 @@ class MainActivity : AppCompatActivity() {
|
|||||||
binding.btnRecomendation.setOnClickListener {
|
binding.btnRecomendation.setOnClickListener {
|
||||||
startActivity(Intent(this, RecommendationActivity::class.java))
|
startActivity(Intent(this, RecommendationActivity::class.java))
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.btnInputData.setOnClickListener {
|
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 {
|
binding.btnReport.setOnClickListener {
|
||||||
val intent = Intent(this, laporan::class.java)
|
val intent = Intent(this, laporan::class.java)
|
||||||
intent.putExtra("healthDataList", ArrayList(healthDataList))
|
intent.putExtra("healthDataList", ArrayList(healthDataList))
|
||||||
@ -184,6 +188,7 @@ class MainActivity : AppCompatActivity() {
|
|||||||
binding.clDailyReport1.visibility = View.INVISIBLE
|
binding.clDailyReport1.visibility = View.INVISIBLE
|
||||||
binding.clDailyReport2.visibility = View.VISIBLE
|
binding.clDailyReport2.visibility = View.VISIBLE
|
||||||
binding.btnRecomendation.visibility = View.VISIBLE
|
binding.btnRecomendation.visibility = View.VISIBLE
|
||||||
|
binding.btnInputData.visibility = View.GONE
|
||||||
binding.ivCuboidIndicator1Green.visibility = View.VISIBLE
|
binding.ivCuboidIndicator1Green.visibility = View.VISIBLE
|
||||||
binding.ivCuboidIndicator2Green.visibility = View.VISIBLE
|
binding.ivCuboidIndicator2Green.visibility = View.VISIBLE
|
||||||
binding.ivCuboidIndicator1Orange.visibility = View.INVISIBLE
|
binding.ivCuboidIndicator1Orange.visibility = View.INVISIBLE
|
||||||
@ -192,6 +197,7 @@ class MainActivity : AppCompatActivity() {
|
|||||||
binding.clDailyReport1.visibility = View.VISIBLE
|
binding.clDailyReport1.visibility = View.VISIBLE
|
||||||
binding.clDailyReport2.visibility = View.INVISIBLE
|
binding.clDailyReport2.visibility = View.INVISIBLE
|
||||||
binding.btnRecomendation.visibility = View.GONE
|
binding.btnRecomendation.visibility = View.GONE
|
||||||
|
binding.btnInputData.visibility = View.VISIBLE
|
||||||
binding.ivCuboidIndicator1Green.visibility = View.INVISIBLE
|
binding.ivCuboidIndicator1Green.visibility = View.INVISIBLE
|
||||||
binding.ivCuboidIndicator2Green.visibility = View.INVISIBLE
|
binding.ivCuboidIndicator2Green.visibility = View.INVISIBLE
|
||||||
binding.ivCuboidIndicator1Orange.visibility = View.VISIBLE
|
binding.ivCuboidIndicator1Orange.visibility = View.VISIBLE
|
||||||
|
@ -3,15 +3,10 @@ package com.healthjournal.ui.journal.detail
|
|||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.activity.enableEdgeToEdge
|
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
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.auth.FirebaseAuth
|
||||||
import com.google.firebase.database.database
|
import com.google.firebase.database.ktx.database
|
||||||
import com.healthjournal.R
|
import com.google.firebase.ktx.Firebase
|
||||||
import com.healthjournal.data.ResultData
|
|
||||||
import com.healthjournal.databinding.ActivityDetailJournalBinding
|
import com.healthjournal.databinding.ActivityDetailJournalBinding
|
||||||
|
|
||||||
class DetailJournalActivity : AppCompatActivity() {
|
class DetailJournalActivity : AppCompatActivity() {
|
||||||
@ -45,6 +40,7 @@ class DetailJournalActivity : AppCompatActivity() {
|
|||||||
else -> "$completedGoals/$totalGoals goals completed"
|
else -> "$completedGoals/$totalGoals goals completed"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun populateDetailJournal() {
|
private fun populateDetailJournal() {
|
||||||
val userID = user.currentUser?.uid
|
val userID = user.currentUser?.uid
|
||||||
val journalID = intent.getStringExtra("JOURNAL_KEY")
|
val journalID = intent.getStringExtra("JOURNAL_KEY")
|
||||||
@ -56,18 +52,16 @@ class DetailJournalActivity : AppCompatActivity() {
|
|||||||
val result = task.result
|
val result = task.result
|
||||||
if (result.exists()) {
|
if (result.exists()) {
|
||||||
val bmiValue = result.child("BMI").value.toString().toFloatOrNull() ?: 0f
|
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.tvBloodsugarLevel2.text = "${result.child("bloodSugar").value ?: "N/A"} mg/dL"
|
||||||
binding.tvBloodsugarDesc.text = result.child("recommendation").child("bloodSugarAnalysis").value?.toString() ?: "No data"
|
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.tvBloodpressureDesc.text = result.child("recommendation").child("bloodPressureAnalysis").value?.toString() ?: "No data"
|
||||||
binding.tvBMILevel2.text = String.format("%.2f BMI", bmiValue)
|
binding.tvBMILevel2.text = String.format("%.2f BMI", bmiValue)
|
||||||
binding.tvBMIDesc.text = result.child("recommendation").child("BMIAnalysis").value?.toString() ?: "No data"
|
binding.tvBMIDesc.text = result.child("recommendation").child("BMIAnalysis").value?.toString() ?: "No data"
|
||||||
binding.tvJournalNote.text = result.child("note").value?.toString() ?: "No notes available"
|
binding.tvJournalNote.text = result.child("note").value?.toString() ?: "No notes available"
|
||||||
|
|
||||||
val taskListSnapshot = result.child("recommendation").child("tasks")
|
val taskListSnapshot = result.child("recommendation").child("tasks")
|
||||||
Log.d("debug", taskListSnapshot.toString())
|
|
||||||
val taskList = mutableListOf<Map<String, Any>>()
|
val taskList = mutableListOf<Map<String, Any>>()
|
||||||
if (taskListSnapshot.exists()) {
|
if (taskListSnapshot.exists()) {
|
||||||
for (taskSnapshot in taskListSnapshot.children) {
|
for (taskSnapshot in taskListSnapshot.children) {
|
||||||
@ -90,28 +84,28 @@ class DetailJournalActivity : AppCompatActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private fun deleteHistory() {
|
private fun deleteHistory() {
|
||||||
val userID = user.currentUser?.uid
|
val userID = user.currentUser?.uid
|
||||||
val journalDate = intent.getStringExtra("JOURNAL_DATE")
|
val journalID = intent.getStringExtra("JOURNAL_KEY")
|
||||||
if (userID != null && journalDate != null) {
|
if (userID != null && journalID != null) {
|
||||||
database.getReference("users").child(userID).child("journal").child(journalDate)
|
database.getReference("users").child(userID).child("journal").child(journalID)
|
||||||
.removeValue()
|
.removeValue()
|
||||||
.addOnCompleteListener(DetailJournalActivity()) {
|
.addOnCompleteListener(this) {
|
||||||
if (it.isSuccessful) {
|
if (it.isSuccessful) {
|
||||||
Toast.makeText(this, "History deleted successfully", Toast.LENGTH_SHORT)
|
Toast.makeText(this, "History deleted successfully", Toast.LENGTH_SHORT).show()
|
||||||
.show()
|
|
||||||
finish()
|
finish()
|
||||||
} else {
|
} 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() {
|
private fun setupListener() {
|
||||||
binding.btnDeleteHistory.setOnClickListener() {
|
binding.btnDeleteHistory.setOnClickListener {
|
||||||
deleteHistory()
|
deleteHistory()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
package com.healthjournal.ui
|
package com.healthjournal.ui.laporan
|
||||||
|
|
||||||
import MyMarkerView
|
import MyMarkerView
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.MotionEvent
|
import android.view.MotionEvent
|
||||||
import android.widget.ArrayAdapter
|
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import com.github.mikephil.charting.charts.LineChart
|
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.ChartTouchListener
|
||||||
import com.github.mikephil.charting.listener.OnChartGestureListener
|
import com.github.mikephil.charting.listener.OnChartGestureListener
|
||||||
import com.github.mikephil.charting.listener.OnChartValueSelectedListener
|
import com.github.mikephil.charting.listener.OnChartValueSelectedListener
|
||||||
import com.google.android.material.textfield.MaterialAutoCompleteTextView
|
|
||||||
import com.healthjournal.R
|
import com.healthjournal.R
|
||||||
import com.healthjournal.data.ResultData
|
import com.healthjournal.data.ResultData
|
||||||
import com.healthjournal.ui.journal.detail.DetailJournalActivity
|
import com.healthjournal.ui.journal.detail.DetailJournalActivity
|
@ -1,5 +1,6 @@
|
|||||||
package com.healthjournal.ui.profile
|
package com.healthjournal.ui.profile
|
||||||
|
|
||||||
|
import android.app.DatePickerDialog
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
@ -14,6 +15,7 @@ import com.google.firebase.database.database
|
|||||||
import com.healthjournal.R
|
import com.healthjournal.R
|
||||||
import com.healthjournal.databinding.ActivityProfileBinding
|
import com.healthjournal.databinding.ActivityProfileBinding
|
||||||
import com.healthjournal.ui.login.LoginActivity
|
import com.healthjournal.ui.login.LoginActivity
|
||||||
|
import java.util.Calendar
|
||||||
|
|
||||||
class ProfileActivity : AppCompatActivity() {
|
class ProfileActivity : AppCompatActivity() {
|
||||||
private lateinit var binding: ActivityProfileBinding
|
private lateinit var binding: ActivityProfileBinding
|
||||||
@ -36,15 +38,36 @@ class ProfileActivity : AppCompatActivity() {
|
|||||||
binding.btnLogout.setOnClickListener {
|
binding.btnLogout.setOnClickListener {
|
||||||
logout()
|
logout()
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.btnUpdateData.setOnClickListener {
|
binding.btnUpdateData.setOnClickListener {
|
||||||
updateData()
|
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()
|
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()
|
finish()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -81,7 +104,4 @@ class ProfileActivity : AppCompatActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
@ -7,6 +7,7 @@ import android.widget.Toast
|
|||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import com.google.firebase.auth.FirebaseAuth
|
import com.google.firebase.auth.FirebaseAuth
|
||||||
import com.healthjournal.databinding.ActivityRegisterBinding
|
import com.healthjournal.databinding.ActivityRegisterBinding
|
||||||
|
import com.healthjournal.ui.login.LoginActivity
|
||||||
import com.healthjournal.ui.users.UsersInputActivity
|
import com.healthjournal.ui.users.UsersInputActivity
|
||||||
|
|
||||||
class RegisterActivity : AppCompatActivity() {
|
class RegisterActivity : AppCompatActivity() {
|
||||||
@ -26,7 +27,8 @@ class RegisterActivity : AppCompatActivity() {
|
|||||||
registerUser()
|
registerUser()
|
||||||
}
|
}
|
||||||
binding.btnLogin.setOnClickListener{
|
binding.btnLogin.setOnClickListener{
|
||||||
|
startActivity(Intent(this@RegisterActivity, LoginActivity::class.java))
|
||||||
|
finish()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,7 +26,6 @@ class UsersInputActivity : AppCompatActivity() {
|
|||||||
user = FirebaseAuth.getInstance()
|
user = FirebaseAuth.getInstance()
|
||||||
val gender = arrayOf("Male", "Female", "Other")
|
val gender = arrayOf("Male", "Female", "Other")
|
||||||
|
|
||||||
// Adapter for conditions
|
|
||||||
val conditionAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, gender)
|
val conditionAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, gender)
|
||||||
binding.dropdownGender.setAdapter(conditionAdapter)
|
binding.dropdownGender.setAdapter(conditionAdapter)
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/constraintLayout"
|
android:id="@+id/constraintLayout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="250dp"
|
android:layout_height="265dp"
|
||||||
android:background="@drawable/bg_dashboard"
|
android:background="@drawable/bg_dashboard"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
@ -41,7 +41,7 @@
|
|||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.375"
|
app:layout_constraintHorizontal_bias="0.248"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/tv_title" />
|
app:layout_constraintTop_toBottomOf="@id/tv_title" />
|
||||||
|
|
||||||
@ -161,25 +161,23 @@
|
|||||||
android:textColor="@color/Primary_Dark"
|
android:textColor="@color/Primary_Dark"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="@+id/tv_title"
|
||||||
app:layout_constraintHorizontal_bias="0.0"
|
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" />
|
app:layout_constraintTop_toBottomOf="@id/tv_BMI_desc" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tv_goals2"
|
android:id="@+id/tv_goals2"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textColor="@color/Accent_Light_Red"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:layout_marginLeft="2dp"
|
android:layout_marginLeft="2dp"
|
||||||
|
android:textColor="@color/Accent_Light_Red"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/tv_goals1"
|
android:textStyle="bold"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="@+id/tv_goals1"
|
||||||
app:layout_constraintHorizontal_bias="0.0"
|
app:layout_constraintStart_toStartOf="@+id/tv_goals1"
|
||||||
app:layout_constraintStart_toEndOf="@id/tv_goals1"
|
app:layout_constraintTop_toBottomOf="@+id/tv_goals1"
|
||||||
app:layout_constraintTop_toTopOf="@+id/tv_goals1"
|
tools:text="Goals Completed" />
|
||||||
tools:text="3" />
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -203,18 +203,24 @@
|
|||||||
<EditText
|
<EditText
|
||||||
android:id="@+id/edt_gender"
|
android:id="@+id/edt_gender"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent" />
|
app:layout_constraintEnd_toEndOf="parent" />
|
||||||
|
|
||||||
<EditText
|
<EditText
|
||||||
android:id="@+id/edt_age"
|
android:id="@+id/edt_age"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent" />
|
app:layout_constraintEnd_toEndOf="parent" />
|
||||||
|
|
||||||
<EditText
|
<EditText
|
||||||
android:id="@+id/edt_height"
|
android:id="@+id/edt_height"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent" />
|
app:layout_constraintEnd_toEndOf="parent" />
|
||||||
|
|
||||||
|
@ -240,7 +240,7 @@ z
|
|||||||
android:textSize="12sp"
|
android:textSize="12sp"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
android:layout_marginTop="10dp"
|
android:layout_marginTop="10dp"
|
||||||
android:text="Blood Sugar Level : "
|
android:text="Tingkat Gula Darah : "
|
||||||
android:textColor="@color/Primary_Light"
|
android:textColor="@color/Primary_Light"
|
||||||
app:layout_constraintStart_toStartOf="@+id/tv_sub_title_2"
|
app:layout_constraintStart_toStartOf="@+id/tv_sub_title_2"
|
||||||
app:layout_constraintTop_toBottomOf="@+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:layout_height="wrap_content"
|
||||||
android:textColor="@color/Primary_Light"
|
android:textColor="@color/Primary_Light"
|
||||||
android:layout_marginTop="10dp"
|
android:layout_marginTop="10dp"
|
||||||
android:text="Blood Pressure Level : "
|
android:text="Tingkat Tekanan Darah : "
|
||||||
android:textSize="12sp"
|
android:textSize="12sp"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
app:layout_constraintStart_toStartOf="@+id/tv_sub_title_2"
|
app:layout_constraintStart_toStartOf="@+id/tv_sub_title_2"
|
||||||
@ -312,7 +312,7 @@ z
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="12dp"
|
android:layout_marginTop="12dp"
|
||||||
android:textColor="@color/Primary_Light"
|
android:textColor="@color/Primary_Light"
|
||||||
android:text="BMI(Body Mass Index) : "
|
android:text="BMI(Inkes Massa Tubuh) : "
|
||||||
android:textSize="12sp"
|
android:textSize="12sp"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/tv_sub_title_2"
|
app:layout_constraintEnd_toEndOf="@+id/tv_sub_title_2"
|
||||||
@ -470,18 +470,18 @@ z
|
|||||||
android:layout_height="40dp"
|
android:layout_height="40dp"
|
||||||
android:layout_marginTop="10dp"
|
android:layout_marginTop="10dp"
|
||||||
android:background="@drawable/bg_button"
|
android:background="@drawable/bg_button"
|
||||||
android:visibility="gone"
|
|
||||||
android:text="Rekomendasi Sekarang"
|
android:text="Rekomendasi Sekarang"
|
||||||
android:textAllCaps="true"
|
android:textAllCaps="true"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
|
android:visibility="gone"
|
||||||
app:backgroundTint="@color/Primary_Light"
|
app:backgroundTint="@color/Primary_Light"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="@+id/fl_daily_counter"
|
||||||
app:layout_constraintHorizontal_bias="0.496"
|
app:layout_constraintHorizontal_bias="0.48"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="@+id/fl_daily_counter"
|
||||||
app:layout_constraintTop_toBottomOf="@+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
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/btn_report"
|
android:id="@+id/btn_report"
|
||||||
@ -502,14 +502,12 @@ z
|
|||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
android:id="@+id/rv_health_history"
|
android:id="@+id/rv_health_history"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="0dp"
|
||||||
app:layout_constraintBottom_toTopOf="@id/nav_view"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintHorizontal_bias="0.516"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/cl_Health_Report"
|
app:layout_constraintTop_toBottomOf="@+id/cl_Health_Report"
|
||||||
app:layout_constraintVertical_bias="0.0"
|
app:layout_constraintBottom_toTopOf="@id/nav_view"
|
||||||
tools:itemCount="1"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
tools:itemCount="2"
|
||||||
tools:listitem="@layout/item_health_history" />
|
tools:listitem="@layout/item_health_history" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
|
@ -1,180 +1,180 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?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:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:id="@+id/main"
|
android:id="@+id/nestedScrollView"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
android:fillViewport="true"
|
||||||
tools:context=".ui.recommendation.RecommendationActivity">
|
tools:context=".ui.recommendation.RecommendationActivity">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/constraintLayout"
|
android:id="@+id/main"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="255dp"
|
android:layout_height="wrap_content">
|
||||||
android:background="@drawable/bg_dashboard"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
app:layout_constraintHorizontal_bias="0.0"
|
android:id="@+id/constraintLayout"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
android:layout_width="0dp"
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
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
|
<TextView
|
||||||
android:id="@+id/tv_title"
|
android:id="@+id/tv_title_recommendation"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="10dp"
|
android:layout_marginTop="16dp"
|
||||||
android:text="TODAY HEALTH"
|
android:text="TODAY REKOMENDASI"
|
||||||
android:textAlignment="center"
|
android:textAlignment="center"
|
||||||
android:textColor="@color/Primary_Dark"
|
android:textColor="@color/Primary_Dark"
|
||||||
android:textSize="20sp"
|
android:textSize="20sp"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintTop_toBottomOf="@id/constraintLayout"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="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="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">
|
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
android:id="@+id/rv_tasks"
|
android:id="@+id/rv_tasks"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="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