Commit ec7de180 authored by shohboz's avatar shohboz

[UPD] MUS-107 Feature, updated home page drawer

parent 267301d2
package com.mobiuz.app.dev
import android.Manifest
import android.content.Intent
import android.graphics.Color
import android.os.Bundle
import androidx.activity.viewModels
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.GravityCompat
import androidx.drawerlayout.widget.DrawerLayout
import androidx.lifecycle.LiveData
import androidx.lifecycle.lifecycleScope
import androidx.navigation.NavController
import com.google.android.material.bottomnavigation.BottomNavigationView
import com.google.firebase.FirebaseApp
......@@ -14,12 +16,14 @@ import com.google.firebase.messaging.FirebaseMessaging
import com.mobiuz.app.R
import com.mobiuz.app.databinding.ActivityMainBinding
import com.mobiuz.app.dev.model.SharedPref
import com.mobiuz.app.dev.network.model.UiStateObject
import com.mobiuz.app.dev.ui.global.CONSTANTS
import com.mobiuz.app.dev.ui.global.FullScreenDialog
import com.mobiuz.app.dev.utils.extensions.customLog
import com.mobiuz.app.dev.utils.extensions.setupWithNavController
import com.mobiuz.app.utils.checkPermission
import com.mobiuz.app.dev.utils.extensions.showCustomExitDialog
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.flow.collect
import javax.inject.Inject
......@@ -34,6 +38,7 @@ class MainActivity : AppCompatActivity() {
private lateinit var bottomNavigationView: BottomNavigationView
private var currentNavController: LiveData<NavController>? = null
private val viewModel: MainViewModel by viewModels()
private lateinit var mFirebaseAnalytics: FirebaseAnalytics
......@@ -56,23 +61,98 @@ class MainActivity : AppCompatActivity() {
setupBottomNavigationBar()
}
// intent?.let {
// val arg = it.getStringExtra(CONSTANTS.FIRST) ?: ""
// if (arg.isEmpty()) {
// val dialog = FullScreenDialog()
// dialog.setOnPinDoneListener {
// pref.setUserToken("")
// pref.isRegistered = false
// pref.pin_code = ""
// val intent = Intent(this, AuthActivity::class.java)
// intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_TASK_ON_HOME
// startActivity(intent)
// finish()
// }
// dialog.show(supportFragmentManager, "tag")
// }
// }
setUpUI()
collects()
intent?.let {
val arg = it.getStringExtra(CONSTANTS.FIRST) ?: ""
if (arg.isEmpty()) {
val dialog = FullScreenDialog()
dialog.setOnPinDoneListener {
pref.setUserToken("")
pref.isRegistered = false
pref.pin_code = ""
val intent = Intent(this, AuthActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_TASK_ON_HOME
startActivity(intent)
finish()
}
dialog.show(supportFragmentManager, "tag")
}
}
customLog("token: ${pref.getUserToken()}")
}
private fun setUpUI() {
bn.apply {
header.txtUserPhone.text = pref.userPhone
btnExit.setOnClickListener {
showCustomExitDialog {
pref.setUserToken("")
pref.isRegistered = false
pref.pin_code = ""
val intent = Intent(this@MainActivity, AuthActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_TASK_ON_HOME
startActivity(intent)
finish()
bn.drawerLayout.closeDrawer(GravityCompat.START)
}
}
btnLanguage.setOnClickListener {
bn.drawerLayout.closeDrawer(GravityCompat.START)
}
btnSafety.setOnClickListener {
bn.drawerLayout.closeDrawer(GravityCompat.START)
}
btnSupport.setOnClickListener {
bn.drawerLayout.closeDrawer(GravityCompat.START)
}
}
}
private fun collects() {
lifecycleScope.launchWhenStarted {
viewModel.mainIndexUiState.collect {
when (it) {
is UiStateObject.SUCCESS -> {
bn.drawerLayout.openDrawer(GravityCompat.START)
}
else -> Unit
}
}
}
lifecycleScope.launchWhenStarted {
viewModel.userNameUiState.collect {
when (it) {
is UiStateObject.SUCCESS -> {
bn.header.txtUserName.text = it.data
}
else -> Unit
}
}
}
lifecycleScope.launchWhenStarted {
viewModel.swipeDrawerUiState.collect {
when (it) {
is UiStateObject.SUCCESS -> {
if (it.data) {
bn.drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED)
} else {
bn.drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED)
}
}
else -> Unit
}
}
}
}
private fun setupBottomNavigationBar() {
......
package com.mobiuz.app.dev
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.mobiuz.app.dev.network.model.Customer
import com.mobiuz.app.dev.network.model.UiStateObject
import com.mobiuz.app.dev.network.repository.AuthRepository
import com.mobiuz.app.dev.network.repository.MainRepository
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
import javax.inject.Inject
@HiltViewModel
class MainViewModel @Inject constructor(
private val repository: MainRepository
) : ViewModel() {
private val _swipeDrawerUiState = MutableStateFlow<UiStateObject<Boolean>>(UiStateObject.EMPTY)
val swipeDrawerUiState: StateFlow<UiStateObject<Boolean>> = _swipeDrawerUiState
fun isSwipeDrawer(swipe: Boolean){
_swipeDrawerUiState.value = UiStateObject.SUCCESS(swipe)
}
private val _userNameUiState = MutableStateFlow<UiStateObject<String>>(UiStateObject.EMPTY)
val userNameUiState: StateFlow<UiStateObject<String>> = _userNameUiState
fun setUserName(name: String){
_userNameUiState.value = UiStateObject.SUCCESS(name)
}
private val _mainIndexUiState = MutableStateFlow<UiStateObject<Long>>(UiStateObject.EMPTY)
val mainIndexUiState: StateFlow<UiStateObject<Long>> = _mainIndexUiState
fun mainIndex(status:Long) = viewModelScope.launch {
_mainIndexUiState.value = UiStateObject.SUCCESS(status)
// _mainIndexUiState.value = repository.mainIndex()
}
}
\ No newline at end of file
package com.mobiuz.app.dev
import android.os.Bundle
import android.view.View
import androidx.lifecycle.ViewModelProvider
import com.mobiuz.app.R
import com.mobiuz.app.dev.network.model.Customer
import com.mobiuz.app.dev.ui.base.BaseFragment
class MotionFragment : BaseFragment(R.layout.home_motion) {
private lateinit var mainViewModel: MainViewModel
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
mainViewModel = ViewModelProvider(requireActivity())[MainViewModel::class.java]
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
mainViewModel.isSwipeDrawer(false)
}
override fun setUpUI() {
......
......@@ -133,6 +133,7 @@ class AuthRepository @Inject constructor(
when {
res.status -> {
pref.isRegistered = true
pref.setUserToken(res.data?.token)
UiStateObject.SUCCESS(res.message)
}
......
......@@ -12,10 +12,12 @@ import androidx.core.view.GravityCompat
import androidx.core.view.isVisible
import androidx.core.widget.NestedScrollView
import androidx.fragment.app.viewModels
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope
import com.mobiuz.app.R
import com.mobiuz.app.databinding.FragmentHomeBinding
import com.mobiuz.app.dev.AuthActivity
import com.mobiuz.app.dev.MainViewModel
import com.mobiuz.app.dev.model.SharedPref
import com.mobiuz.app.dev.network.model.Customer
import com.mobiuz.app.dev.network.model.UiStateObject
......@@ -36,17 +38,19 @@ class HomeFragment : BaseFragment(R.layout.fragment_home) {
private var _bn: FragmentHomeBinding? = null
private val bn get() = _bn ?: throw NullPointerException("cannot inflate")
private val viewModel: HomeViewModel by viewModels()
private lateinit var mainViewModel: MainViewModel
private var customer: Customer? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
mainViewModel = ViewModelProvider(requireActivity())[MainViewModel::class.java]
viewModel.mainIndex()
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
_bn = FragmentHomeBinding.bind(view)
mainViewModel.isSwipeDrawer(true)
setUpUI()
collects()
......@@ -55,52 +59,24 @@ class HomeFragment : BaseFragment(R.layout.fragment_home) {
override fun setUpUI() {
bn.apply {
btnExit.setOnClickListener {
showCustomExitDialog {
pref.setUserToken("")
pref.isRegistered = false
pref.pin_code = ""
val intent = Intent(requireContext(), AuthActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_TASK_ON_HOME
startActivity(intent)
requireActivity().finish()
}
}
btnLanguage.setOnClickListener {
}
btnSafety.setOnClickListener {
}
btnSupport.setOnClickListener {
}
}
bn.content.apply {
toolbar.setNavigationOnClickListener {
bn.drawerLayout.openDrawer(GravityCompat.START)
mainViewModel.mainIndex(System.currentTimeMillis())
}
nestedScrollView.setOnScrollChangeListener(object : NestedScrollView.OnScrollChangeListener{
override fun onScrollChange(v: NestedScrollView?, scrollX: Int, scrollY: Int, oldScrollX: Int, oldScrollY: Int) {
Log.e("SSS","scrollX_"+scrollX+"_scrollY_"+scrollY+"_oldScrollX_"+oldScrollX+"_oldScrollY_"+oldScrollY)
nestedScrollView.setOnScrollChangeListener(
NestedScrollView.OnScrollChangeListener {
v, scrollX, scrollY, oldScrollX, oldScrollY ->
if(scrollY > 100){
if(scrollY > 120){
toolbarInsideLayout.isVisible = true
// requireActivity().window.statusBarColor = Color.RED
// toolbar.setBackgroundColor(resources.getColor(R.color.primary100))
// requireActivity().window.statusBarColor = Color.RED
// toolbar.setBackgroundColor(resources.getColor(R.color.primary100))
}
if(scrollY < 90){
if(scrollY < 100){
toolbarInsideLayout.isVisible = false
// requireActivity().window.statusBarColor = Color.TRANSPARENT
// toolbar.setBackgroundColor(Color.TRANSPARENT)
}
// requireActivity().window.statusBarColor = Color.TRANSPARENT
// toolbar.setBackgroundColor(Color.TRANSPARENT)
}
})
}
......@@ -133,7 +109,7 @@ class HomeFragment : BaseFragment(R.layout.fragment_home) {
try {
customLog("customer:$customer")
customer?.customer?.info?.let {
bn.content.apply {
bn.apply {
txtBalance.text = "${it.balance?.amount?.toMoneyFormat()} ${it.balance?.currency}"
it.counters.let {
txtCountMb.text = it?.BYTE?.value?.toMoneyFormat() ?: "0"
......@@ -145,11 +121,10 @@ class HomeFragment : BaseFragment(R.layout.fragment_home) {
txtCountSms.text = it?.ITEM?.value?.toMoneyFormat() ?: "0"
txtTypeSms.text = it?.ITEM?.unit ?: "sms"
}
bn.header.txtUserName.text = customer?.customer?.name ?: ""
mainViewModel.setUserName(customer?.customer?.name ?: "Unnamed User")
txtTarif.text = customer?.customer?.tarifi?.name ?: getString(R.string.my_tarif)
txtMyNumber.text = pref.userPhone
toolbarMyNumber.text = pref.userPhone
bn.header.txtUserPhone.text = pref.userPhone
}
}
} catch (e: Exception) {
......
......@@ -81,6 +81,14 @@ fun Fragment.showCustomExitDialog(block: () -> Unit) {
dialog.show(childFragmentManager, "childFragmentManager")
}
fun FragmentActivity.showCustomExitDialog(block: () -> Unit) {
val dialog = ExitDialog()
dialog.setOnDoneListener {
block()
}
dialog.show(supportFragmentManager, "childFragmentManager")
}
//fun Fragment.showCustomDialog(string: String, status: Boolean, block: () -> Unit) {
// val snackBar = Snackbar.make(this.requireView(),string, Snackbar.LENGTH_LONG)
// .setBackgroundTint(Color.GRAY)
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawerLayout"
android:fitsSystemWindows="false"
xmlns:app="http://schemas.android.com/apk/res-auto">
tools:openDrawer="start">
<LinearLayout
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent">
<androidx.fragment.app.FragmentContainerView
android:id="@+id/nav_host_fragment"
android:layout_width="match_parent"
......@@ -24,7 +30,175 @@
app:itemTextColor="@color/nav_item_tint"
app:labelVisibilityMode="labeled"
app:menu="@menu/bottom_nav_menu" />
</LinearLayout>
<com.google.android.material.navigation.NavigationView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="false"
android:layout_gravity="start"
android:background="@color/white100">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
android:id="@+id/header"
layout="@layout/layout_home_header"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<View
android:layout_width="match_parent"
android:background="@color/grey30"
android:layout_marginTop="@dimen/_14sdp"
android:layout_height="1dp"/>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<LinearLayout
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:orientation="horizontal"
android:paddingVertical="16dp"
android:paddingStart="30dp"
android:paddingEnd="10dp"
android:background="?android:selectableItemBackground"
android:id="@+id/btn_safety"
android:layout_marginTop="@dimen/_24sdp"
android:layout_height="match_parent">
<ImageView
android:layout_width="wrap_content"
android:src="@drawable/ic_safety"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="wrap_content"
android:text="@string/bezopasnost"
android:textStyle="bold"
android:textSize="16sp"
android:layout_marginStart="10dp"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:orientation="horizontal"
android:paddingVertical="10dp"
android:id="@+id/btn_language"
android:paddingStart="30dp"
android:paddingEnd="10dp"
android:background="?android:selectableItemBackground"
android:layout_marginTop="@dimen/_10sdp"
android:layout_height="match_parent">
<ImageView
android:layout_width="wrap_content"
android:layout_gravity="center"
android:src="@drawable/ic_image_language"
android:layout_height="wrap_content"/>
<LinearLayout
android:layout_width="wrap_content"
android:orientation="vertical"
android:layout_gravity="center"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:text="@string/language_app"
android:textStyle="bold"
android:textSize="16sp"
android:layout_marginStart="10dp"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="wrap_content"
android:text="Русский"
android:textSize="12sp"
android:textColor="@color/grey80"
android:layout_marginStart="10dp"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:orientation="horizontal"
android:paddingVertical="16dp"
android:id="@+id/btn_support"
android:paddingStart="30dp"
android:paddingEnd="10dp"
android:background="?android:selectableItemBackground"
android:layout_marginTop="@dimen/_10sdp"
android:layout_height="match_parent">
<ImageView
android:layout_width="wrap_content"
android:src="@drawable/ic_image_support"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="wrap_content"
android:text="@string/support"
android:textStyle="bold"
android:textSize="16sp"
android:layout_marginStart="10dp"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="16dp"
android:paddingStart="30dp"
android:layout_marginBottom="16dp"
android:paddingEnd="10dp"
android:id="@+id/btn_exit"
android:background="?android:selectableItemBackground"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/ic_log_out" />
<TextView
android:id="@+id/txt_user_name"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_marginStart="12dp"
android:layout_height="wrap_content"
android:text="@string/exit"
android:layout_gravity="center"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/txt_user_phone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="v 0.01.1"
android:textColor="@color/grey80"
android:layout_gravity="center"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
</com.google.android.material.navigation.NavigationView>
</LinearLayout>
\ No newline at end of file
</androidx.drawerlayout.widget.DrawerLayout>
<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
<FrameLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/drawerLayout"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:fitsSystemWindows="false"
tools:openDrawer="start">
xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:src="@drawable/bgn_home" />
<include
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/content"
layout="@layout/fragment_home_content" />
android:orientation="vertical">
<com.google.android.material.navigation.NavigationView
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="false"
android:layout_gravity="start"
android:background="@color/white100">
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
app:navigationIcon="@drawable/ic_menu">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/_16sdp"
android:id="@+id/toolbar_inside_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"
android:layout_gravity="start"
android:layout_marginStart="10dp"
android:orientation="vertical">
<include
android:id="@+id/header"
layout="@layout/layout_home_header"
android:layout_width="match_parent"
<TextView
android:id="@+id/toolbar_my_number_helper"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
android:text="@string/my_number"
android:textColor="@color/white100" />
<View
android:layout_width="match_parent"
android:background="@color/grey30"
android:layout_marginTop="@dimen/_24sdp"
android:layout_height="1dp"/>
<TextView
android:id="@+id/toolbar_my_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/white"
android:textSize="16sp"
android:textStyle="bold"
tools:text="+998 97 980 25 52" />
</LinearLayout>
</com.google.android.material.appbar.MaterialToolbar>
<androidx.core.widget.NestedScrollView
android:id="@+id/nestedScrollView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="@dimen/_4sdp"
android:layout_weight="1">
<LinearLayout
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent">
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:orientation="horizontal"
android:paddingVertical="10dp"
android:paddingStart="10dp"
android:background="?android:selectableItemBackground"
android:id="@+id/btn_safety"
android:layout_marginTop="@dimen/_24sdp"
android:layout_height="match_parent">
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="12dp"
android:layout_marginTop="@dimen/_6sdp"
android:layout_marginBottom="@dimen/_6sdp">
<ImageView
<com.makeramen.roundedimageview.RoundedImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:src="@drawable/ic_photo"
app:riv_corner_radius="14dp" />
<LinearLayout
android:layout_width="wrap_content"
android:src="@drawable/ic_safety"
android:layout_height="wrap_content"/>
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="10dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:text="@string/bezopasnost"
android:textStyle="bold"
android:layout_height="wrap_content"
android:text="@string/my_number"
android:textColor="@color/white100" />
<TextView
android:id="@+id/txt_my_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/white"
android:textSize="16sp"
android:layout_marginStart="10dp"
android:layout_height="wrap_content"/>
android:textStyle="bold"
tools:text="+998 97 980 25 52" />
</LinearLayout>
</LinearLayout>
<LinearLayout
<FrameLayout
android:layout_width="match_parent"
android:orientation="horizontal"
android:paddingVertical="10dp"
android:id="@+id/btn_language"
android:paddingStart="10dp"
android:background="?android:selectableItemBackground"
android:layout_marginTop="@dimen/_10sdp"
android:layout_height="match_parent">
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginTop="@dimen/_12sdp"
android:paddingHorizontal="16dp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/balance"
android:textColor="@color/white100" />
<TextView
android:id="@+id/txt_balance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0 UZS"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold" />
</LinearLayout>
<ImageView
android:id="@+id/btn_add_sum"
android:layout_width="wrap_content"
android:layout_gravity="center"
android:src="@drawable/ic_image_language"
android:layout_height="wrap_content"/>
android:layout_height="wrap_content"
android:layout_gravity="end"
android:background="?selectableItemBackgroundBorderless"
android:src="@drawable/ic_plus" />
</FrameLayout>
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/_10sdp"
android:layout_marginTop="@dimen/_12sdp"
app:cardCornerRadius="4dp"
app:cardElevation="4dp">
<LinearLayout
android:layout_width="wrap_content"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_height="wrap_content">
android:layout_marginTop="12dp"
android:paddingHorizontal="@dimen/_12sdp">
<TextView
android:layout_width="wrap_content"
android:text="@string/language_app"
android:textStyle="bold"
android:textSize="16sp"
android:layout_marginStart="10dp"
android:layout_height="wrap_content"/>
android:layout_height="wrap_content"
android:text="@string/my_tarif"
android:id="@+id/txt_tarif"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:text="Русский"
android:textSize="12sp"
android:textColor="@color/grey80"
android:layout_marginStart="10dp"
android:layout_height="wrap_content"/>
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:gravity="end"
android:text="0 Сум/мес"
android:textColor="@color/grey70"
android:textSize="14sp" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="16dp"
android:background="@color/grey20" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="10dp"
android:text="@string/oatatok_tarifu"
android:textColor="@color/grey70" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:orientation="horizontal"
android:paddingVertical="10dp"
android:id="@+id/btn_support"
android:paddingStart="10dp"
android:background="?android:selectableItemBackground"
android:layout_marginTop="@dimen/_10sdp"
android:layout_height="match_parent">
android:layout_height="wrap_content"
android:layout_marginTop="16dp">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:src="@drawable/ic_image_support"
android:layout_height="wrap_content"/>
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/ic_wi_fi" />
<TextView
android:id="@+id/txt_count_mb"
android:layout_width="wrap_content"
android:text="@string/support"
android:textStyle="bold"
android:textSize="16sp"
android:layout_marginStart="10dp"
android:layout_height="wrap_content"/>
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginVertical="6dp"
android:text="0"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/txt_type_mb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="mb"
android:textColor="@color/black80" />
</LinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@color/grey20" />
<LinearLayout
android:layout_width="match_parent"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:paddingVertical="10dp"
android:id="@+id/btn_exit"
android:background="?android:selectableItemBackground"
android:orientation="horizontal">
android:layout_weight="1"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/ic_log_out" />
android:src="@drawable/ic_phone" />
<TextView
android:id="@+id/txt_count_minut"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginVertical="6dp"
android:text="0"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/txt_user_name"
android:id="@+id/txt_type_minut"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="min"
android:textColor="@color/black80" />
</LinearLayout>
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@color/grey20" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="12dp"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/exit"
android:layout_gravity="center"
android:src="@drawable/ic_message" />
<TextView
android:id="@+id/txt_count_sms"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginVertical="6dp"
android:text="0"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/txt_user_phone"
android:id="@+id/txt_type_sms"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="v 0.01.1"
android:textColor="@color/grey80"
android:layout_gravity="center"
android:text="SMS"
android:textColor="@color/black80" />
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="16dp"
android:background="@color/grey20" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:paddingHorizontal="@dimen/_12sdp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/next_spisanie"
android:textColor="@color/grey70"
android:textSize="14sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
tools:text="22 Декабря" />
</FrameLayout>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<include
layout="@layout/item_home"
android:layout_width="match_parent"
android:layout_height="@dimen/_150sdp"
android:layout_marginHorizontal="12dp"
android:layout_marginTop="@dimen/_16sdp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginHorizontal="12dp"
android:layout_marginTop="@dimen/_8sdp"
android:layout_marginBottom="@dimen/_20sdp"
android:background="?selectableItemBackgroundBorderless"
android:src="@drawable/ic_group_12" />
<include
layout="@layout/item_home"
android:layout_width="match_parent"
android:layout_height="@dimen/_150sdp"
android:layout_marginHorizontal="12dp"
android:layout_marginTop="@dimen/_16sdp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginHorizontal="12dp"
android:layout_marginTop="@dimen/_8sdp"
android:layout_marginBottom="@dimen/_20sdp"
android:background="?selectableItemBackgroundBorderless"
android:src="@drawable/ic_group_12" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</LinearLayout>
</com.google.android.material.navigation.NavigationView>
</androidx.drawerlayout.widget.DrawerLayout>
</FrameLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout 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"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent"
android:fitsSystemWindows="false">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:id="@+id/appBar"
android:layout_height="wrap_content">
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/collapsing"
android:fitsSystemWindows="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="@dimen/_240sdp"
android:scaleType="fitXY"
app:layout_collapseMode="parallax"
android:src="@drawable/bgn_home" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="@dimen/_240sdp"
app:layout_collapseMode="none"
android:paddingBottom="@dimen/_70sdp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="12dp"
app:layout_collapseMode="pin"
android:layout_marginTop="@dimen/_16sdp"
android:layout_marginBottom="@dimen/_6sdp">
<com.makeramen.roundedimageview.RoundedImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_gravity="center"
app:layout_collapseMode="pin"
android:src="@drawable/ic_photo"
app:riv_corner_radius="14dp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
app:layout_collapseMode="parallax"
android:layout_marginStart="10dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/my_number"
android:textColor="@color/grey110" />
<TextView
android:id="@+id/txt_my_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/white"
android:textSize="16sp"
app:layout_collapseMode="parallax"
android:textStyle="bold"
android:text="+998 97 980 25 52" />
</LinearLayout>
</LinearLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
app:layout_collapseMode="pin"
android:layout_marginTop="@dimen/_10sdp"
android:paddingHorizontal="16dp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/balance"
android:textColor="@color/grey110" />
<TextView
android:id="@+id/txt_balance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0 UZS"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold" />
</LinearLayout>
<ImageView
android:id="@+id/btn_add_sum"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
app:layout_anchor="@id/appBar"
app:layout_anchorGravity="bottom|end"
android:background="?selectableItemBackgroundBorderless"
android:src="@drawable/ic_plus" />
</FrameLayout>
</FrameLayout>
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
app:layout_collapseMode="pin"
android:layout_height="wrap_content"
android:layout_marginTop="24dp">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/btn_menu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:src="@drawable/ic_menu"
app:layout_constraintTop_toTopOf="parent" />
</FrameLayout>
</androidx.appcompat.widget.Toolbar>
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="-70dp"
app:layout_collapseMode="parallax"
android:id="@+id/nestedScrollView"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/_10sdp"
app:cardCornerRadius="4dp"
app:cardElevation="4dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:paddingHorizontal="@dimen/_12sdp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="My tarif"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:text="0 Сум/мес"
android:textColor="@color/grey110" />
</FrameLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="16dp"
android:background="@color/grey20" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="10dp"
android:text="@string/oatatok_tarifu"
android:textColor="@color/grey110" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/ic_wi_fi" />
<TextView
android:id="@+id/txt_count_mb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginVertical="6dp"
android:text="0"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/txt_type_mb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="mb"
android:textColor="@color/grey80" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/ic_phone" />
<TextView
android:id="@+id/txt_count_minut"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginVertical="6dp"
android:text="0"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/txt_type_minut"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="min"
android:textColor="@color/grey80" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/ic_message" />
<TextView
android:id="@+id/txt_count_sms"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginVertical="6dp"
android:text="0"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/txt_type_sms"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="SMS"
android:textColor="@color/grey80" />
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="16dp"
android:background="@color/grey80" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:paddingHorizontal="@dimen/_12sdp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/next_spisanie"
android:textColor="@color/grey110"
android:textSize="14sp" />
android:src="@drawable/bgn_home" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:textColor="@color/grey80"
android:textStyle="bold"
tools:text="22 Декабря" />
</FrameLayout>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<include
layout="@layout/item_home"
android:layout_width="match_parent"
android:layout_height="@dimen/_150sdp"
android:layout_marginHorizontal="12dp"
android:layout_marginTop="@dimen/_16sdp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="This page is empty"
android:layout_gravity="center"
android:layout_marginHorizontal="12dp"
android:layout_marginTop="@dimen/_8sdp"
android:layout_marginBottom="@dimen/_20sdp"
android:background="?selectableItemBackgroundBorderless"
android:src="@drawable/ic_group_12" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>
android:layout_marginTop="@dimen/_100sdp"
android:textSize="@dimen/_16sdp"
android:layout_height="wrap_content"/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
\ No newline at end of file
</LinearLayout>
\ No newline at end of file
......@@ -2,13 +2,14 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="vertical"
android:padding="32dp"
android:paddingHorizontal="@dimen/_12sdp"
android:layout_height="match_parent">
android:layout_height="wrap_content">
<ImageView
android:layout_width="84dp"
android:src="@drawable/ic_user"
android:layout_marginTop="@dimen/_24sdp"
android:layout_marginTop="20dp"
android:layout_height="84dp"/>
<TextView
android:layout_width="wrap_content"
......
......@@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/nav_graph_auth"
app:startDestination="@id/myVerificationFragment">
app:startDestination="@id/checkPhoneFragment">
<fragment
android:id="@+id/checkPhoneFragment"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment