diff --git a/app/src/main/java/com/xjjk/healthyclients/bean/home/HomeWatchBean.kt b/app/src/main/java/com/xjjk/healthyclients/bean/home/HomeWatchBean.kt new file mode 100644 index 0000000..e9d6678 --- /dev/null +++ b/app/src/main/java/com/xjjk/healthyclients/bean/home/HomeWatchBean.kt @@ -0,0 +1,25 @@ +package com.xjjk.healthyclients.bean.home + + +/** + * 首页-手表数据 + */ +class HomeWatchAllDataBean { + var name: String? = null + var latest: String? = null + var max: String? = null + var min: String? = null + var avg: String? = null + var type: Int? = null + + var latestTime: String? = null +} + + +data class WatchInfoBean( + val bindDate: String, + val hasWatch: Boolean, + val lastUploadDate: String, + val watchModel: String, + val watchNo: String +) diff --git a/app/src/main/java/com/xjjk/healthyclients/data/api/HomeApi.kt b/app/src/main/java/com/xjjk/healthyclients/data/api/HomeApi.kt index ec8b09e..f49b2bc 100644 --- a/app/src/main/java/com/xjjk/healthyclients/data/api/HomeApi.kt +++ b/app/src/main/java/com/xjjk/healthyclients/data/api/HomeApi.kt @@ -2,6 +2,8 @@ package com.xjjk.healthyclients.data.api import com.xjjk.healthyclients.bean.home.HomeBannerBean import com.xjjk.healthyclients.bean.home.HomeNoticeBean +import com.xjjk.healthyclients.bean.home.HomeWatchAllDataBean +import com.xjjk.healthyclients.bean.home.WatchInfoBean import com.xjjk.healthyclients.bean.user.CheckInBean import com.xjjk.healthyclients.bean.user.PointDetailBean import com.xjjk.healthyclients.bean.user.PointRank @@ -71,4 +73,17 @@ interface HomeApi { @GET("/health-consultation/consultation/conSession/getPicUrl") suspend fun getConSessionPicUrl(@QueryMap params: MutableMap): ApiResponse + /** + * 首页-用户手表数据 + */ + @GET("/health-watch/api/watchData/userWatchDataAll") + suspend fun getHomeWatchData(@QueryMap params: MutableMap): ApiResponse> + + /** + * 首页-用户是否有手表 + */ + @GET("/health-watch/api/watchData/findWatchInfo") + suspend fun getHomeWatchInfo(@QueryMap params: MutableMap): ApiResponse + + } \ No newline at end of file diff --git a/app/src/main/java/com/xjjk/healthyclients/data/repository/HomeRepository.kt b/app/src/main/java/com/xjjk/healthyclients/data/repository/HomeRepository.kt index 60a405b..fe22256 100644 --- a/app/src/main/java/com/xjjk/healthyclients/data/repository/HomeRepository.kt +++ b/app/src/main/java/com/xjjk/healthyclients/data/repository/HomeRepository.kt @@ -3,6 +3,8 @@ package com.xjjk.healthyclients.data.repository import com.xjjk.healthyclients.base.repository.BaseRepository import com.xjjk.healthyclients.bean.home.HomeBannerBean import com.xjjk.healthyclients.bean.home.HomeNoticeBean +import com.xjjk.healthyclients.bean.home.HomeWatchAllDataBean +import com.xjjk.healthyclients.bean.home.WatchInfoBean import com.xjjk.healthyclients.bean.user.CheckInBean import com.xjjk.healthyclients.bean.user.PointDetailBean import com.xjjk.healthyclients.bean.user.PointRank @@ -80,4 +82,22 @@ object HomeRepository : BaseRepository() { val map = mutableMapOf() return apiCall { service.getConSessionPicUrl(map) } } + /** + * 首页-用户手表数据 + */ + suspend fun getHomeWatchData(date:String): ApiResponse> { + return apiCall { + val map = mutableMapOf() + map["date"] = date + service.getHomeWatchData(map) + } + } + + suspend fun getHomeWatchInfo(userId: String?): ApiResponse { + return apiCall { + val map = mutableMapOf() + map["userId"] = userId + service.getHomeWatchInfo(map) + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/xjjk/healthyclients/event/WatchDataChangeEvent.kt b/app/src/main/java/com/xjjk/healthyclients/event/WatchDataChangeEvent.kt new file mode 100644 index 0000000..02dd874 --- /dev/null +++ b/app/src/main/java/com/xjjk/healthyclients/event/WatchDataChangeEvent.kt @@ -0,0 +1,12 @@ +package com.xjjk.healthyclients.event + +import com.xjjk.healthyclients.bean.home.HomeWatchAllDataBean + +/** + * 手表数据变更事件 + * 用于 HomeWatchView → WatchItemFragment 的数据通知 + * @param dataList 接口返回的手表各项健康数据列表(按索引对应各 Tab) + */ +class WatchDataChangeEvent { + var dataList: MutableList? = null +} \ No newline at end of file diff --git a/app/src/main/java/com/xjjk/healthyclients/fragment/HomeFragment.kt b/app/src/main/java/com/xjjk/healthyclients/fragment/HomeFragment.kt index 330d213..cb5a3c1 100644 --- a/app/src/main/java/com/xjjk/healthyclients/fragment/HomeFragment.kt +++ b/app/src/main/java/com/xjjk/healthyclients/fragment/HomeFragment.kt @@ -9,6 +9,7 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import com.sw.healthyclients.data.local.DataStoreManager +import com.sw.healthyclients.utils.DateUtil import com.tencent.qcloud.tuikit.tuichat.bean.WorkBean import com.xjjk.healthyclients.R import com.xjjk.healthyclients.adapter.common.MultiItemTypeAdapter @@ -23,6 +24,7 @@ import com.xjjk.healthyclients.superfuntion.startGroupChat import com.xjjk.healthyclients.superfuntion.startLoginActivity import com.xjjk.healthyclients.superfuntion.startMyGuidanceActivity import com.xjjk.healthyclients.ui.activity.EmptyActivity +import com.xjjk.healthyclients.ui.activity.LoginActivity import com.xjjk.healthyclients.ui.activity.guidance.adapter.GuidanceFragmentDoctorAdapter import com.xjjk.healthyclients.ui.activity.home.HomeBannerDetailActivity import com.xjjk.healthyclients.ui.activity.home.HomeNoticeListActivity @@ -111,7 +113,7 @@ class HomeFragment : }) mBinding.layoutItem3.fragmentGuidanceRvDoctor.adapter = mGuidanceFragmentDoctorAdapter - + mBinding.watchView.init(this@HomeFragment) } override fun bindEvent() { @@ -128,6 +130,13 @@ class HomeFragment : layoutItem1.homeHeadTab4, layoutItem3.tvDoctorMore ) } + mBinding.watchView.mBinding.layoutWatchMore.setOnClickListener{ + if (DataStoreManager.isLogin()) { + EventBus.getDefault().post(HomeTabChangeEvent().apply { index = 3 }) + } else { + toActivity(LoginActivity::class.java) + } + } } override fun onClick(v: View?) { @@ -297,23 +306,41 @@ class HomeFragment : } } } + lifecycleScope.launch{ + repeatOnLifecycle(Lifecycle.State.CREATED){ + mViewModel.watchInfo.collectLatest { bean -> + mBinding.watchView.setWatchInfo(bean) + if (bean?.hasWatch==true) {//有手表的情况下去获取手表数据 + mViewModel.getHomeWatchData(DateUtil.nowStringDateShort) + } + } + } + } + + lifecycleScope.launch{ + repeatOnLifecycle(Lifecycle.State.CREATED){ + mViewModel.watchAllData.collectLatest { bean -> + mBinding.watchView.setWatchAllData(bean) + } + } + } } override fun initData() { mViewModel.getHomeBannerList() - if (ConstantUtils.mCheckToken) { - mViewModel.selectDoctorRecommendHome() - } + mViewModel.selectDoctorRecommendHome() + if (DataStoreManager.isLogin()) { homeNoticeStartRepeat() + mViewModel.getHomeWatchInfo(DataStoreManager.getUserId()) } } private fun homeNoticeStartRepeat() { lifecycleScope.launch { - repeat(100) { + repeat(500) { mViewModel.getHomeNoticeListRepeat() delay(noticeTime) } @@ -329,6 +356,7 @@ class HomeFragment : } if (DataStoreManager.isLogin()) { mViewModel.getHomeNoticeListRepeat() + mViewModel.getHomeWatchInfo(DataStoreManager.getUserId()) } } diff --git a/app/src/main/java/com/xjjk/healthyclients/fragment/WatchItemFragment.kt b/app/src/main/java/com/xjjk/healthyclients/fragment/WatchItemFragment.kt new file mode 100644 index 0000000..ee8ae5a --- /dev/null +++ b/app/src/main/java/com/xjjk/healthyclients/fragment/WatchItemFragment.kt @@ -0,0 +1,144 @@ +package com.xjjk.healthyclients.fragment + +import android.os.Bundle +import android.text.TextUtils +import android.view.View +import androidx.fragment.app.Fragment +import com.sw.healthyclients.utils.DateUtil +import com.xjjk.healthyclients.R +import com.xjjk.healthyclients.base.BaseVMBFragment +import com.xjjk.healthyclients.bean.home.HomeWatchAllDataBean +import com.xjjk.healthyclients.databinding.FragmentItemWatchBinding +import com.xjjk.healthyclients.event.WatchDataChangeEvent +import com.xjjk.healthyclients.superfuntion.orEmptyDefault +import com.xjjk.healthyclients.ui.viewmodel.HomeViewModel + +/** + * 手表item + * 数据类型:0=心率 1=血氧 2=压力 3=体温 4=睡眠 + */ +class WatchItemFragment : + BaseVMBFragment(R.layout.fragment_item_watch) { + var position: Int? = -1 + + fun newInstance(position: Int): Fragment { + val args = Bundle() + args.putInt("position", position) + val fragment = WatchItemFragment() + fragment.arguments = args + return fragment + } + + override fun initView(root: View?, savedInstanceState: Bundle?) { + position = arguments?.getInt("position") + mBinding.watchTypeImg.setImageResource(getWatchTypeImg(position)) + + if (position != 4) { + mBinding.watchType.text = "" + mBinding.watchType.getText() + getWatchTypeText(position) + mBinding.watchLeftText.text = getWatchTypeText(position) +"范围" + mBinding.watchRightText.text = "平均"+getWatchTypeText(position) + + } else { + mBinding.watchType.text = "睡眠总时长" + mBinding.watchLeftText.text = "深睡时长" + mBinding.watchRightText.text = "浅睡时长" + } + + + mBinding.watchValueUnit.text = getWatchUnitText(position) + mBinding.watchLeftUnit.text = getWatchUnitText(position) + mBinding.watchRightUnit.text = getWatchUnitText(position) + + refreshWatchData(null) + + } + + override fun bindEvent() { + } + + override fun onClick(v: View?) { + } + + /** + * 接收手表数据变更事件,按当前 Tab position 取出对应数据并刷新界面 + */ + override fun onMessageEvent(event: Any?) { + super.onMessageEvent(event) + if (event is WatchDataChangeEvent) { + event.dataList?.sortBy { it.type } + val bean = event.dataList?.getOrNull(position ?: -1) + refreshWatchData(bean) + } + } + + /** + * 将接口数据填充到各 UI 控件 + * @param bean 当前 Tab 对应的一条手表健康数据 + */ + private fun refreshWatchData(bean: HomeWatchAllDataBean?) { + // 采集时间 + mBinding.watchTime.text = bean?.latestTime.orEmptyDefault() + + if (position != 4) { + // 最新值 + 单位 + mBinding.watchValue.text = bean?.latest.orEmptyDefault() + // 范围:min ~ max + if (TextUtils.isEmpty(bean?.min)) { + mBinding.watchLeftValue.text = "--" + } else { + mBinding.watchLeftValue.text = "${bean?.min.orEmptyDefault()}-${bean?.max.orEmptyDefault()}" + } + // 平均值 + mBinding.watchRightValue.text = bean?.avg.orEmptyDefault() + } else { + //睡眠数据单独处理 + if (bean == null) { + mBinding.watchValue.text = "--" + mBinding.watchLeftValue.text = "--" + mBinding.watchRightValue.text = "--" + + } else { + mBinding.watchValue.text = + DateUtil.timeDiff(bean.latest!!.toLong() * 1000 * 60).orEmptyDefault() + mBinding.watchLeftValue.text = + DateUtil.timeDiff(bean.max!!.toLong() * 1000 * 60).orEmptyDefault() + mBinding.watchRightValue.text = + DateUtil.timeDiff(bean.min!!.toLong() * 1000 * 60).orEmptyDefault() + + } + } + } + + private fun getWatchTypeImg(type: Int?): Int { + return when (type) { + 0 -> R.mipmap.ic_home_watch_tab1 + 1 -> R.mipmap.ic_home_watch_tab2 + 2 -> R.mipmap.ic_home_watch_tab3 + 3 -> R.mipmap.ic_home_watch_tab4 + 4 -> R.mipmap.ic_home_watch_tab5 + else -> R.mipmap.ic_home_watch_tab1 + } + } + + private fun getWatchTypeText(type: Int?): String { + return when (type) { + 0 -> "心率" + 1 -> "血氧" + 2 -> "压力" + 3 -> "体温" + else -> "" + } + } + + private fun getWatchUnitText(type: Int?): String { + return when (type) { + 0 -> "次/分钟" + 1 -> "%" + 2 -> "" + 3 -> "℃" + + else -> "" + } + } +} + diff --git a/app/src/main/java/com/xjjk/healthyclients/superfuntion/ViewExt.kt b/app/src/main/java/com/xjjk/healthyclients/superfuntion/ViewExt.kt index 7a49fd5..094d3f9 100644 --- a/app/src/main/java/com/xjjk/healthyclients/superfuntion/ViewExt.kt +++ b/app/src/main/java/com/xjjk/healthyclients/superfuntion/ViewExt.kt @@ -11,6 +11,7 @@ import android.view.View import android.view.ViewGroup import android.view.Window import android.widget.ImageView +import android.widget.RelativeLayout import android.widget.TextView import androidx.annotation.DrawableRes import androidx.appcompat.app.AppCompatActivity @@ -523,7 +524,7 @@ fun ViewPager2.init( */ fun TabLayout.onCreateTab( tabList: Array, - tabStyle: Int = 2, + tabStyle: Int = 1, listener: (TabLayout.Tab?) -> Unit ) { for (tabTitle in tabList) { @@ -547,11 +548,12 @@ fun TabLayout.onCreateTab( } -private fun onConfigureTab(context: Context, tab: TabLayout.Tab, tabTitle: String, tabStyle: Int) { - val textView = LayoutInflater.from(context) - .inflate(getTabStyle(tabStyle), null) as TextView - textView.text = tabTitle - tab.customView = textView +private fun onConfigureTab(context: Context,tab: TabLayout.Tab, tabTitle: String,tabStyle: Int) { + val tabView = LayoutInflater.from(context) + .inflate(getTabStyle(tabStyle), null) as RelativeLayout + val tabText = tabView.findViewById(R.id.tv_text) + tabText.text = tabTitle + tab.customView = tabView } @@ -583,13 +585,11 @@ fun TabLayout.attachViewPager( /** * tab 样式 - * 1:通用样式 2:癌症结论tab样式 + * 1:通用样式 绿色/灰色 */ fun getTabStyle(i: Int): Int { return when (i) { 1 -> R.layout.item_tablayout_group_title - 2 -> R.layout.item_tablayout_group_title2 - 102 -> R.layout.item_home_tab_group//首页 else -> R.layout.item_tablayout_group_title } } diff --git a/app/src/main/java/com/xjjk/healthyclients/ui/activity/InterventionWebActivity.kt b/app/src/main/java/com/xjjk/healthyclients/ui/activity/InterventionWebActivity.kt index adfb97c..9af2445 100644 --- a/app/src/main/java/com/xjjk/healthyclients/ui/activity/InterventionWebActivity.kt +++ b/app/src/main/java/com/xjjk/healthyclients/ui/activity/InterventionWebActivity.kt @@ -3,6 +3,7 @@ package com.xjjk.healthyclients.ui.activity import android.graphics.Bitmap import android.os.Bundle import android.text.TextUtils +import android.util.Log import android.view.View import android.webkit.WebChromeClient import android.webkit.WebView @@ -109,6 +110,7 @@ class InterventionWebActivity() : // Log.e("mzf","file:///android_asset/dist/index.html?p=$path&r=${url}&t=${mToken}&id=${mUserId}&d=${date}") // Log.e("mzf", "$localAdress&d=${date}") mBinding.webView.loadUrl("$localAdress&d=${date}&h=${urlType}") + Log.i("InterventionWebActivity", "url: "+mBinding.webView.url) } private fun getTitleText(path: String?): String { diff --git a/app/src/main/java/com/xjjk/healthyclients/ui/viewmodel/HomeViewModel.kt b/app/src/main/java/com/xjjk/healthyclients/ui/viewmodel/HomeViewModel.kt index c87a35a..e9a7e0a 100644 --- a/app/src/main/java/com/xjjk/healthyclients/ui/viewmodel/HomeViewModel.kt +++ b/app/src/main/java/com/xjjk/healthyclients/ui/viewmodel/HomeViewModel.kt @@ -4,6 +4,8 @@ import com.xjjk.healthyclients.base.viewmodel.BaseViewModel import com.xjjk.healthyclients.bean.guidance.GuidanceListBean import com.xjjk.healthyclients.bean.home.HomeBannerBean import com.xjjk.healthyclients.bean.home.HomeNoticeBean +import com.xjjk.healthyclients.bean.home.HomeWatchAllDataBean +import com.xjjk.healthyclients.bean.home.WatchInfoBean import com.xjjk.healthyclients.data.repository.GuidanceRepository import com.xjjk.healthyclients.data.repository.HomeRepository import com.xjjk.healthyclients.superfuntion.handleRequest @@ -21,6 +23,10 @@ class HomeViewModel : BaseViewModel() { var homeBannerList = MutableSharedFlow?>() var sessionPicUrl = MutableSharedFlow() + //手表 + var watchInfo = MutableSharedFlow() + var watchAllData = MutableSharedFlow?>() + var isRefreshing = MutableStateFlow(false) var isLoadMoreEnd = MutableSharedFlow() @@ -34,7 +40,6 @@ class HomeViewModel : BaseViewModel() { fun selectDoctorRecommendHome() { launch( { - handleRequest( GuidanceRepository.selectDoctorRecommend(1,3), successBlock = { @@ -135,5 +140,29 @@ class HomeViewModel : BaseViewModel() { ) } + fun getHomeWatchData(date:String) { + launch( + { + handleRequest( + HomeRepository.getHomeWatchData(date), + successBlock = { + watchAllData.emit(it.result) + }) + } + ) + } + + fun getHomeWatchInfo(userId: String?) { + launch( + { + handleRequest( + HomeRepository.getHomeWatchInfo(userId), + successBlock = { + watchInfo.emit(it.result) + }) + } + ) + } + } \ No newline at end of file diff --git a/app/src/main/java/com/xjjk/healthyclients/view/HomeWatchView.kt b/app/src/main/java/com/xjjk/healthyclients/view/HomeWatchView.kt new file mode 100644 index 0000000..a03deb3 --- /dev/null +++ b/app/src/main/java/com/xjjk/healthyclients/view/HomeWatchView.kt @@ -0,0 +1,81 @@ +package com.xjjk.healthyclients.view + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import android.view.View +import android.widget.RelativeLayout +import androidx.databinding.DataBindingUtil +import androidx.fragment.app.Fragment +import com.sw.healthyclients.adapter.common.ViewPagerAdapter +import com.sw.healthyclients.bean.common.TabItemBean +import com.xjjk.healthyclients.R +import com.xjjk.healthyclients.bean.home.HomeWatchAllDataBean +import com.xjjk.healthyclients.bean.home.WatchInfoBean +import com.xjjk.healthyclients.databinding.LayoutHomeItemWatchBinding +import com.xjjk.healthyclients.event.WatchDataChangeEvent +import com.xjjk.healthyclients.fragment.WatchItemFragment +import com.xjjk.healthyclients.superfuntion.init +import com.xjjk.healthyclients.superfuntion.onCreateTab +import org.greenrobot.eventbus.EventBus + +class HomeWatchView(context: Context?, attrs: AttributeSet?) : + RelativeLayout(context, attrs, 0), ViewPagerAdapter.OnCreateFragmentListener { + + var mContext: Context? = context + var mBinding: LayoutHomeItemWatchBinding = DataBindingUtil.inflate( + LayoutInflater.from(context), + R.layout.layout_home_item_watch, this, true + ) + + + fun init(fragment: Fragment) { + val arrayOf = arrayOf("心脑血管", "癌症", "慢呼", "糖尿病", "亚健康") + mBinding.watchTabLayout.onCreateTab(arrayOf, 1) {tab-> + if (tab?.position != 0) { + mBinding.emptyText.visibility = View.VISIBLE + mBinding.emptyText.text = "开发中" + mBinding.viewPager.visibility = View.GONE + } else { + mBinding.viewPager.visibility = View.VISIBLE + mBinding.emptyText.visibility = View.GONE + } + + } + + val tabList: MutableList = mutableListOf() + (0..4).forEach { _ -> + tabList.add(TabItemBean()) + } + mBinding.viewPager.init(fragment, tabList.toTypedArray(), this, 5) + } + + fun setWatchInfo(watchInfo: WatchInfoBean?) { + if (watchInfo?.hasWatch == true) { + mBinding.viewPager.visibility = View.VISIBLE + mBinding.watchName.visibility = View.VISIBLE + mBinding.emptyText.visibility = View.GONE + mBinding.watchName.text = "监测工具编码:${watchInfo.watchNo}" + } else { + mBinding.viewPager.visibility = View.GONE + mBinding.watchName.visibility = View.GONE + mBinding.emptyText.visibility = View.VISIBLE + mBinding.emptyText.text = "您目前未配备智能穿戴设备" + } + } + + /** + * 接收手表详细数据并通过 EventBus 通知各 WatchItemFragment 刷新 + * @param dataList 接口返回的手表各项健康数据列表(索引与 Tab position 对应) + */ + fun setWatchAllData(dataList: MutableList?) { + EventBus.getDefault().post(WatchDataChangeEvent().apply { + this.dataList = dataList + }) + } + + override fun createFragment(position: Int): Fragment { + return WatchItemFragment().newInstance(position) + } + +} \ No newline at end of file diff --git a/app/src/main/res/color/color_child_tab_etiological_result.xml b/app/src/main/res/color/color_child_tab_etiological_result.xml deleted file mode 100644 index 8b5accf..0000000 --- a/app/src/main/res/color/color_child_tab_etiological_result.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/src/main/res/color/color_child_tab_record_physique.xml b/app/src/main/res/color/color_child_tab_record_physique.xml deleted file mode 100644 index abaf6a7..0000000 --- a/app/src/main/res/color/color_child_tab_record_physique.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_child_tab_layout_item.xml b/app/src/main/res/drawable/bg_child_tab_layout_item.xml index 6508d03..598a976 100644 --- a/app/src/main/res/drawable/bg_child_tab_layout_item.xml +++ b/app/src/main/res/drawable/bg_child_tab_layout_item.xml @@ -4,5 +4,5 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/rect_line_blue.xml b/app/src/main/res/drawable/rect_line_blue.xml new file mode 100644 index 0000000..22ba7e1 --- /dev/null +++ b/app/src/main/res/drawable/rect_line_blue.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/rect_line_green.xml b/app/src/main/res/drawable/rect_line_green.xml new file mode 100644 index 0000000..22b1842 --- /dev/null +++ b/app/src/main/res/drawable/rect_line_green.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_bank.xml b/app/src/main/res/layout/activity_bank.xml index a2a79ca..ccd918a 100644 --- a/app/src/main/res/layout/activity_bank.xml +++ b/app/src/main/res/layout/activity_bank.xml @@ -88,6 +88,7 @@ android:layout_width="match_parent" android:layout_height="5dp" android:background="@drawable/imaginary_line"/> + diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index c26e832..d3e2df2 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -111,6 +111,10 @@ android:layout_height="60dp" android:layout_marginHorizontal="12dp" android:layout_marginTop="10dp" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_tablayout_group_title.xml b/app/src/main/res/layout/item_tablayout_group_title.xml index 80831e1..65a0a77 100644 --- a/app/src/main/res/layout/item_tablayout_group_title.xml +++ b/app/src/main/res/layout/item_tablayout_group_title.xml @@ -1,13 +1,19 @@ - - \ No newline at end of file + android:layout_height="wrap_content"> + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_tablayout_group_title2.xml b/app/src/main/res/layout/item_tablayout_group_title2.xml deleted file mode 100644 index 7803ec8..0000000 --- a/app/src/main/res/layout/item_tablayout_group_title2.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/layout_home_item_watch.xml b/app/src/main/res/layout/layout_home_item_watch.xml new file mode 100644 index 0000000..31abe52 --- /dev/null +++ b/app/src/main/res/layout/layout_home_item_watch.xml @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-xhdpi/ic_home_watch_tab1.png b/app/src/main/res/mipmap-xhdpi/ic_home_watch_tab1.png new file mode 100644 index 0000000..d44254a Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_home_watch_tab1.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_home_watch_tab2.png b/app/src/main/res/mipmap-xhdpi/ic_home_watch_tab2.png new file mode 100644 index 0000000..a841a42 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_home_watch_tab2.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_home_watch_tab3.png b/app/src/main/res/mipmap-xhdpi/ic_home_watch_tab3.png new file mode 100644 index 0000000..349382d Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_home_watch_tab3.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_home_watch_tab4.png b/app/src/main/res/mipmap-xhdpi/ic_home_watch_tab4.png new file mode 100644 index 0000000..c1475f8 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_home_watch_tab4.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_home_watch_tab5.png b/app/src/main/res/mipmap-xhdpi/ic_home_watch_tab5.png new file mode 100644 index 0000000..cf7dd10 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_home_watch_tab5.png differ