diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_pressure.xml b/app/src/main/res/drawable/ic_pressure.xml index a217ee3..95b14a4 100644 --- a/app/src/main/res/drawable/ic_pressure.xml +++ b/app/src/main/res/drawable/ic_pressure.xml @@ -3,16 +3,21 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_pressure.xml b/app/src/main/res/drawable/ic_pressure.xml index a217ee3..95b14a4 100644 --- a/app/src/main/res/drawable/ic_pressure.xml +++ b/app/src/main/res/drawable/ic_pressure.xml @@ -3,16 +3,21 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_pressure_main.xml b/app/src/main/res/drawable/ic_pressure_main.xml new file mode 100644 index 0000000..59d0e04 --- /dev/null +++ b/app/src/main/res/drawable/ic_pressure_main.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_pressure.xml b/app/src/main/res/drawable/ic_pressure.xml index a217ee3..95b14a4 100644 --- a/app/src/main/res/drawable/ic_pressure.xml +++ b/app/src/main/res/drawable/ic_pressure.xml @@ -3,16 +3,21 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_pressure_main.xml b/app/src/main/res/drawable/ic_pressure_main.xml new file mode 100644 index 0000000..59d0e04 --- /dev/null +++ b/app/src/main/res/drawable/ic_pressure_main.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_reservation.xml b/app/src/main/res/drawable/ic_reservation.xml index 875a4d3..e7544d7 100644 --- a/app/src/main/res/drawable/ic_reservation.xml +++ b/app/src/main/res/drawable/ic_reservation.xml @@ -4,9 +4,13 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_pressure.xml b/app/src/main/res/drawable/ic_pressure.xml index a217ee3..95b14a4 100644 --- a/app/src/main/res/drawable/ic_pressure.xml +++ b/app/src/main/res/drawable/ic_pressure.xml @@ -3,16 +3,21 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_pressure_main.xml b/app/src/main/res/drawable/ic_pressure_main.xml new file mode 100644 index 0000000..59d0e04 --- /dev/null +++ b/app/src/main/res/drawable/ic_pressure_main.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_reservation.xml b/app/src/main/res/drawable/ic_reservation.xml index 875a4d3..e7544d7 100644 --- a/app/src/main/res/drawable/ic_reservation.xml +++ b/app/src/main/res/drawable/ic_reservation.xml @@ -4,9 +4,13 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + diff --git a/app/src/main/res/drawable/ic_reservation_main.xml b/app/src/main/res/drawable/ic_reservation_main.xml new file mode 100644 index 0000000..0e478b0 --- /dev/null +++ b/app/src/main/res/drawable/ic_reservation_main.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_pressure.xml b/app/src/main/res/drawable/ic_pressure.xml index a217ee3..95b14a4 100644 --- a/app/src/main/res/drawable/ic_pressure.xml +++ b/app/src/main/res/drawable/ic_pressure.xml @@ -3,16 +3,21 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_pressure_main.xml b/app/src/main/res/drawable/ic_pressure_main.xml new file mode 100644 index 0000000..59d0e04 --- /dev/null +++ b/app/src/main/res/drawable/ic_pressure_main.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_reservation.xml b/app/src/main/res/drawable/ic_reservation.xml index 875a4d3..e7544d7 100644 --- a/app/src/main/res/drawable/ic_reservation.xml +++ b/app/src/main/res/drawable/ic_reservation.xml @@ -4,9 +4,13 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + diff --git a/app/src/main/res/drawable/ic_reservation_main.xml b/app/src/main/res/drawable/ic_reservation_main.xml new file mode 100644 index 0000000..0e478b0 --- /dev/null +++ b/app/src/main/res/drawable/ic_reservation_main.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml deleted file mode 100644 index 3d50bdb..0000000 --- a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_pressure.xml b/app/src/main/res/drawable/ic_pressure.xml index a217ee3..95b14a4 100644 --- a/app/src/main/res/drawable/ic_pressure.xml +++ b/app/src/main/res/drawable/ic_pressure.xml @@ -3,16 +3,21 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_pressure_main.xml b/app/src/main/res/drawable/ic_pressure_main.xml new file mode 100644 index 0000000..59d0e04 --- /dev/null +++ b/app/src/main/res/drawable/ic_pressure_main.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_reservation.xml b/app/src/main/res/drawable/ic_reservation.xml index 875a4d3..e7544d7 100644 --- a/app/src/main/res/drawable/ic_reservation.xml +++ b/app/src/main/res/drawable/ic_reservation.xml @@ -4,9 +4,13 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + diff --git a/app/src/main/res/drawable/ic_reservation_main.xml b/app/src/main/res/drawable/ic_reservation_main.xml new file mode 100644 index 0000000..0e478b0 --- /dev/null +++ b/app/src/main/res/drawable/ic_reservation_main.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml deleted file mode 100644 index 3d50bdb..0000000 --- a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml index b18e5c5..2e2479b 100644 --- a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml +++ b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml @@ -12,7 +12,7 @@ - + \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_pressure.xml b/app/src/main/res/drawable/ic_pressure.xml index a217ee3..95b14a4 100644 --- a/app/src/main/res/drawable/ic_pressure.xml +++ b/app/src/main/res/drawable/ic_pressure.xml @@ -3,16 +3,21 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_pressure_main.xml b/app/src/main/res/drawable/ic_pressure_main.xml new file mode 100644 index 0000000..59d0e04 --- /dev/null +++ b/app/src/main/res/drawable/ic_pressure_main.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_reservation.xml b/app/src/main/res/drawable/ic_reservation.xml index 875a4d3..e7544d7 100644 --- a/app/src/main/res/drawable/ic_reservation.xml +++ b/app/src/main/res/drawable/ic_reservation.xml @@ -4,9 +4,13 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + diff --git a/app/src/main/res/drawable/ic_reservation_main.xml b/app/src/main/res/drawable/ic_reservation_main.xml new file mode 100644 index 0000000..0e478b0 --- /dev/null +++ b/app/src/main/res/drawable/ic_reservation_main.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml deleted file mode 100644 index 3d50bdb..0000000 --- a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml index b18e5c5..2e2479b 100644 --- a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml +++ b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml @@ -12,7 +12,7 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_initiate_image_radio_button.xml b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml new file mode 100644 index 0000000..9a29246 --- /dev/null +++ b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_pressure.xml b/app/src/main/res/drawable/ic_pressure.xml index a217ee3..95b14a4 100644 --- a/app/src/main/res/drawable/ic_pressure.xml +++ b/app/src/main/res/drawable/ic_pressure.xml @@ -3,16 +3,21 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_pressure_main.xml b/app/src/main/res/drawable/ic_pressure_main.xml new file mode 100644 index 0000000..59d0e04 --- /dev/null +++ b/app/src/main/res/drawable/ic_pressure_main.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_reservation.xml b/app/src/main/res/drawable/ic_reservation.xml index 875a4d3..e7544d7 100644 --- a/app/src/main/res/drawable/ic_reservation.xml +++ b/app/src/main/res/drawable/ic_reservation.xml @@ -4,9 +4,13 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + diff --git a/app/src/main/res/drawable/ic_reservation_main.xml b/app/src/main/res/drawable/ic_reservation_main.xml new file mode 100644 index 0000000..0e478b0 --- /dev/null +++ b/app/src/main/res/drawable/ic_reservation_main.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml deleted file mode 100644 index 3d50bdb..0000000 --- a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml index b18e5c5..2e2479b 100644 --- a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml +++ b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml @@ -12,7 +12,7 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_initiate_image_radio_button.xml b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml new file mode 100644 index 0000000..9a29246 --- /dev/null +++ b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_once_image_radio_button.xml b/app/src/main/res/drawable/selector_once_image_radio_button.xml new file mode 100644 index 0000000..6cf1b3b --- /dev/null +++ b/app/src/main/res/drawable/selector_once_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_pressure.xml b/app/src/main/res/drawable/ic_pressure.xml index a217ee3..95b14a4 100644 --- a/app/src/main/res/drawable/ic_pressure.xml +++ b/app/src/main/res/drawable/ic_pressure.xml @@ -3,16 +3,21 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_pressure_main.xml b/app/src/main/res/drawable/ic_pressure_main.xml new file mode 100644 index 0000000..59d0e04 --- /dev/null +++ b/app/src/main/res/drawable/ic_pressure_main.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_reservation.xml b/app/src/main/res/drawable/ic_reservation.xml index 875a4d3..e7544d7 100644 --- a/app/src/main/res/drawable/ic_reservation.xml +++ b/app/src/main/res/drawable/ic_reservation.xml @@ -4,9 +4,13 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + diff --git a/app/src/main/res/drawable/ic_reservation_main.xml b/app/src/main/res/drawable/ic_reservation_main.xml new file mode 100644 index 0000000..0e478b0 --- /dev/null +++ b/app/src/main/res/drawable/ic_reservation_main.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml deleted file mode 100644 index 3d50bdb..0000000 --- a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml index b18e5c5..2e2479b 100644 --- a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml +++ b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml @@ -12,7 +12,7 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_initiate_image_radio_button.xml b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml new file mode 100644 index 0000000..9a29246 --- /dev/null +++ b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_once_image_radio_button.xml b/app/src/main/res/drawable/selector_once_image_radio_button.xml new file mode 100644 index 0000000..6cf1b3b --- /dev/null +++ b/app/src/main/res/drawable/selector_once_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_pressure_image_radio_button.xml b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml new file mode 100644 index 0000000..4f681d2 --- /dev/null +++ b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_pressure.xml b/app/src/main/res/drawable/ic_pressure.xml index a217ee3..95b14a4 100644 --- a/app/src/main/res/drawable/ic_pressure.xml +++ b/app/src/main/res/drawable/ic_pressure.xml @@ -3,16 +3,21 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_pressure_main.xml b/app/src/main/res/drawable/ic_pressure_main.xml new file mode 100644 index 0000000..59d0e04 --- /dev/null +++ b/app/src/main/res/drawable/ic_pressure_main.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_reservation.xml b/app/src/main/res/drawable/ic_reservation.xml index 875a4d3..e7544d7 100644 --- a/app/src/main/res/drawable/ic_reservation.xml +++ b/app/src/main/res/drawable/ic_reservation.xml @@ -4,9 +4,13 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + diff --git a/app/src/main/res/drawable/ic_reservation_main.xml b/app/src/main/res/drawable/ic_reservation_main.xml new file mode 100644 index 0000000..0e478b0 --- /dev/null +++ b/app/src/main/res/drawable/ic_reservation_main.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml deleted file mode 100644 index 3d50bdb..0000000 --- a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml index b18e5c5..2e2479b 100644 --- a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml +++ b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml @@ -12,7 +12,7 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_initiate_image_radio_button.xml b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml new file mode 100644 index 0000000..9a29246 --- /dev/null +++ b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_once_image_radio_button.xml b/app/src/main/res/drawable/selector_once_image_radio_button.xml new file mode 100644 index 0000000..6cf1b3b --- /dev/null +++ b/app/src/main/res/drawable/selector_once_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_pressure_image_radio_button.xml b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml new file mode 100644 index 0000000..4f681d2 --- /dev/null +++ b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_reservation_image_radio_button.xml b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml new file mode 100644 index 0000000..5babde1 --- /dev/null +++ b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_pressure.xml b/app/src/main/res/drawable/ic_pressure.xml index a217ee3..95b14a4 100644 --- a/app/src/main/res/drawable/ic_pressure.xml +++ b/app/src/main/res/drawable/ic_pressure.xml @@ -3,16 +3,21 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_pressure_main.xml b/app/src/main/res/drawable/ic_pressure_main.xml new file mode 100644 index 0000000..59d0e04 --- /dev/null +++ b/app/src/main/res/drawable/ic_pressure_main.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_reservation.xml b/app/src/main/res/drawable/ic_reservation.xml index 875a4d3..e7544d7 100644 --- a/app/src/main/res/drawable/ic_reservation.xml +++ b/app/src/main/res/drawable/ic_reservation.xml @@ -4,9 +4,13 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + diff --git a/app/src/main/res/drawable/ic_reservation_main.xml b/app/src/main/res/drawable/ic_reservation_main.xml new file mode 100644 index 0000000..0e478b0 --- /dev/null +++ b/app/src/main/res/drawable/ic_reservation_main.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml deleted file mode 100644 index 3d50bdb..0000000 --- a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml index b18e5c5..2e2479b 100644 --- a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml +++ b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml @@ -12,7 +12,7 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_initiate_image_radio_button.xml b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml new file mode 100644 index 0000000..9a29246 --- /dev/null +++ b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_once_image_radio_button.xml b/app/src/main/res/drawable/selector_once_image_radio_button.xml new file mode 100644 index 0000000..6cf1b3b --- /dev/null +++ b/app/src/main/res/drawable/selector_once_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_pressure_image_radio_button.xml b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml new file mode 100644 index 0000000..4f681d2 --- /dev/null +++ b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_reservation_image_radio_button.xml b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml new file mode 100644 index 0000000..5babde1 --- /dev/null +++ b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_color.xml b/app/src/main/res/drawable/selector_text_color.xml new file mode 100644 index 0000000..f331c43 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_color.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_pressure.xml b/app/src/main/res/drawable/ic_pressure.xml index a217ee3..95b14a4 100644 --- a/app/src/main/res/drawable/ic_pressure.xml +++ b/app/src/main/res/drawable/ic_pressure.xml @@ -3,16 +3,21 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_pressure_main.xml b/app/src/main/res/drawable/ic_pressure_main.xml new file mode 100644 index 0000000..59d0e04 --- /dev/null +++ b/app/src/main/res/drawable/ic_pressure_main.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_reservation.xml b/app/src/main/res/drawable/ic_reservation.xml index 875a4d3..e7544d7 100644 --- a/app/src/main/res/drawable/ic_reservation.xml +++ b/app/src/main/res/drawable/ic_reservation.xml @@ -4,9 +4,13 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + diff --git a/app/src/main/res/drawable/ic_reservation_main.xml b/app/src/main/res/drawable/ic_reservation_main.xml new file mode 100644 index 0000000..0e478b0 --- /dev/null +++ b/app/src/main/res/drawable/ic_reservation_main.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml deleted file mode 100644 index 3d50bdb..0000000 --- a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml index b18e5c5..2e2479b 100644 --- a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml +++ b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml @@ -12,7 +12,7 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_initiate_image_radio_button.xml b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml new file mode 100644 index 0000000..9a29246 --- /dev/null +++ b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_once_image_radio_button.xml b/app/src/main/res/drawable/selector_once_image_radio_button.xml new file mode 100644 index 0000000..6cf1b3b --- /dev/null +++ b/app/src/main/res/drawable/selector_once_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_pressure_image_radio_button.xml b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml new file mode 100644 index 0000000..4f681d2 --- /dev/null +++ b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_reservation_image_radio_button.xml b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml new file mode 100644 index 0000000..5babde1 --- /dev/null +++ b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_color.xml b/app/src/main/res/drawable/selector_text_color.xml new file mode 100644 index 0000000..f331c43 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_color.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_radio_button.xml b/app/src/main/res/drawable/selector_text_radio_button.xml new file mode 100644 index 0000000..f0954c9 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_radio_button.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_pressure.xml b/app/src/main/res/drawable/ic_pressure.xml index a217ee3..95b14a4 100644 --- a/app/src/main/res/drawable/ic_pressure.xml +++ b/app/src/main/res/drawable/ic_pressure.xml @@ -3,16 +3,21 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_pressure_main.xml b/app/src/main/res/drawable/ic_pressure_main.xml new file mode 100644 index 0000000..59d0e04 --- /dev/null +++ b/app/src/main/res/drawable/ic_pressure_main.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_reservation.xml b/app/src/main/res/drawable/ic_reservation.xml index 875a4d3..e7544d7 100644 --- a/app/src/main/res/drawable/ic_reservation.xml +++ b/app/src/main/res/drawable/ic_reservation.xml @@ -4,9 +4,13 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + diff --git a/app/src/main/res/drawable/ic_reservation_main.xml b/app/src/main/res/drawable/ic_reservation_main.xml new file mode 100644 index 0000000..0e478b0 --- /dev/null +++ b/app/src/main/res/drawable/ic_reservation_main.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml deleted file mode 100644 index 3d50bdb..0000000 --- a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml index b18e5c5..2e2479b 100644 --- a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml +++ b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml @@ -12,7 +12,7 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_initiate_image_radio_button.xml b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml new file mode 100644 index 0000000..9a29246 --- /dev/null +++ b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_once_image_radio_button.xml b/app/src/main/res/drawable/selector_once_image_radio_button.xml new file mode 100644 index 0000000..6cf1b3b --- /dev/null +++ b/app/src/main/res/drawable/selector_once_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_pressure_image_radio_button.xml b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml new file mode 100644 index 0000000..4f681d2 --- /dev/null +++ b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_reservation_image_radio_button.xml b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml new file mode 100644 index 0000000..5babde1 --- /dev/null +++ b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_color.xml b/app/src/main/res/drawable/selector_text_color.xml new file mode 100644 index 0000000..f331c43 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_color.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_radio_button.xml b/app/src/main/res/drawable/selector_text_radio_button.xml new file mode 100644 index 0000000..f0954c9 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_radio_button.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_circle_off.xml b/app/src/main/res/drawable/switch_circle_off.xml index 183c8f6..0487243 100644 --- a/app/src/main/res/drawable/switch_circle_off.xml +++ b/app/src/main/res/drawable/switch_circle_off.xml @@ -9,5 +9,5 @@ android:width="2dp" android:color="@color/mainBackColor" /> - + \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_pressure.xml b/app/src/main/res/drawable/ic_pressure.xml index a217ee3..95b14a4 100644 --- a/app/src/main/res/drawable/ic_pressure.xml +++ b/app/src/main/res/drawable/ic_pressure.xml @@ -3,16 +3,21 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_pressure_main.xml b/app/src/main/res/drawable/ic_pressure_main.xml new file mode 100644 index 0000000..59d0e04 --- /dev/null +++ b/app/src/main/res/drawable/ic_pressure_main.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_reservation.xml b/app/src/main/res/drawable/ic_reservation.xml index 875a4d3..e7544d7 100644 --- a/app/src/main/res/drawable/ic_reservation.xml +++ b/app/src/main/res/drawable/ic_reservation.xml @@ -4,9 +4,13 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + diff --git a/app/src/main/res/drawable/ic_reservation_main.xml b/app/src/main/res/drawable/ic_reservation_main.xml new file mode 100644 index 0000000..0e478b0 --- /dev/null +++ b/app/src/main/res/drawable/ic_reservation_main.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml deleted file mode 100644 index 3d50bdb..0000000 --- a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml index b18e5c5..2e2479b 100644 --- a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml +++ b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml @@ -12,7 +12,7 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_initiate_image_radio_button.xml b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml new file mode 100644 index 0000000..9a29246 --- /dev/null +++ b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_once_image_radio_button.xml b/app/src/main/res/drawable/selector_once_image_radio_button.xml new file mode 100644 index 0000000..6cf1b3b --- /dev/null +++ b/app/src/main/res/drawable/selector_once_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_pressure_image_radio_button.xml b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml new file mode 100644 index 0000000..4f681d2 --- /dev/null +++ b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_reservation_image_radio_button.xml b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml new file mode 100644 index 0000000..5babde1 --- /dev/null +++ b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_color.xml b/app/src/main/res/drawable/selector_text_color.xml new file mode 100644 index 0000000..f331c43 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_color.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_radio_button.xml b/app/src/main/res/drawable/selector_text_radio_button.xml new file mode 100644 index 0000000..f0954c9 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_radio_button.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_circle_off.xml b/app/src/main/res/drawable/switch_circle_off.xml index 183c8f6..0487243 100644 --- a/app/src/main/res/drawable/switch_circle_off.xml +++ b/app/src/main/res/drawable/switch_circle_off.xml @@ -9,5 +9,5 @@ android:width="2dp" android:color="@color/mainBackColor" /> - + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_circle_on.xml b/app/src/main/res/drawable/switch_circle_on.xml index 00e53b6..8ffa89d 100644 --- a/app/src/main/res/drawable/switch_circle_on.xml +++ b/app/src/main/res/drawable/switch_circle_on.xml @@ -9,5 +9,5 @@ android:width="2dp" android:color="@color/mainThemeColor" /> - + \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_pressure.xml b/app/src/main/res/drawable/ic_pressure.xml index a217ee3..95b14a4 100644 --- a/app/src/main/res/drawable/ic_pressure.xml +++ b/app/src/main/res/drawable/ic_pressure.xml @@ -3,16 +3,21 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_pressure_main.xml b/app/src/main/res/drawable/ic_pressure_main.xml new file mode 100644 index 0000000..59d0e04 --- /dev/null +++ b/app/src/main/res/drawable/ic_pressure_main.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_reservation.xml b/app/src/main/res/drawable/ic_reservation.xml index 875a4d3..e7544d7 100644 --- a/app/src/main/res/drawable/ic_reservation.xml +++ b/app/src/main/res/drawable/ic_reservation.xml @@ -4,9 +4,13 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + diff --git a/app/src/main/res/drawable/ic_reservation_main.xml b/app/src/main/res/drawable/ic_reservation_main.xml new file mode 100644 index 0000000..0e478b0 --- /dev/null +++ b/app/src/main/res/drawable/ic_reservation_main.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml deleted file mode 100644 index 3d50bdb..0000000 --- a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml index b18e5c5..2e2479b 100644 --- a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml +++ b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml @@ -12,7 +12,7 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_initiate_image_radio_button.xml b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml new file mode 100644 index 0000000..9a29246 --- /dev/null +++ b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_once_image_radio_button.xml b/app/src/main/res/drawable/selector_once_image_radio_button.xml new file mode 100644 index 0000000..6cf1b3b --- /dev/null +++ b/app/src/main/res/drawable/selector_once_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_pressure_image_radio_button.xml b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml new file mode 100644 index 0000000..4f681d2 --- /dev/null +++ b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_reservation_image_radio_button.xml b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml new file mode 100644 index 0000000..5babde1 --- /dev/null +++ b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_color.xml b/app/src/main/res/drawable/selector_text_color.xml new file mode 100644 index 0000000..f331c43 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_color.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_radio_button.xml b/app/src/main/res/drawable/selector_text_radio_button.xml new file mode 100644 index 0000000..f0954c9 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_radio_button.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_circle_off.xml b/app/src/main/res/drawable/switch_circle_off.xml index 183c8f6..0487243 100644 --- a/app/src/main/res/drawable/switch_circle_off.xml +++ b/app/src/main/res/drawable/switch_circle_off.xml @@ -9,5 +9,5 @@ android:width="2dp" android:color="@color/mainBackColor" /> - + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_circle_on.xml b/app/src/main/res/drawable/switch_circle_on.xml index 00e53b6..8ffa89d 100644 --- a/app/src/main/res/drawable/switch_circle_on.xml +++ b/app/src/main/res/drawable/switch_circle_on.xml @@ -9,5 +9,5 @@ android:width="2dp" android:color="@color/mainThemeColor" /> - + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_water_heater.xml b/app/src/main/res/layout/activity_water_heater.xml index d2de0ad..836ee10 100644 --- a/app/src/main/res/layout/activity_water_heater.xml +++ b/app/src/main/res/layout/activity_water_heater.xml @@ -29,24 +29,15 @@ android:textColor="@color/mainTextColor" android:textSize="@dimen/sp_14" /> - + app:tabIndicatorHeight="0dp" + app:tabSelectedTextColor="@color/mainThemeColor" + app:tabTextColor="@color/subMainThemeColor" /> -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_pressure.xml b/app/src/main/res/drawable/ic_pressure.xml index a217ee3..95b14a4 100644 --- a/app/src/main/res/drawable/ic_pressure.xml +++ b/app/src/main/res/drawable/ic_pressure.xml @@ -3,16 +3,21 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_pressure_main.xml b/app/src/main/res/drawable/ic_pressure_main.xml new file mode 100644 index 0000000..59d0e04 --- /dev/null +++ b/app/src/main/res/drawable/ic_pressure_main.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_reservation.xml b/app/src/main/res/drawable/ic_reservation.xml index 875a4d3..e7544d7 100644 --- a/app/src/main/res/drawable/ic_reservation.xml +++ b/app/src/main/res/drawable/ic_reservation.xml @@ -4,9 +4,13 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + diff --git a/app/src/main/res/drawable/ic_reservation_main.xml b/app/src/main/res/drawable/ic_reservation_main.xml new file mode 100644 index 0000000..0e478b0 --- /dev/null +++ b/app/src/main/res/drawable/ic_reservation_main.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml deleted file mode 100644 index 3d50bdb..0000000 --- a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml index b18e5c5..2e2479b 100644 --- a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml +++ b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml @@ -12,7 +12,7 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_initiate_image_radio_button.xml b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml new file mode 100644 index 0000000..9a29246 --- /dev/null +++ b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_once_image_radio_button.xml b/app/src/main/res/drawable/selector_once_image_radio_button.xml new file mode 100644 index 0000000..6cf1b3b --- /dev/null +++ b/app/src/main/res/drawable/selector_once_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_pressure_image_radio_button.xml b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml new file mode 100644 index 0000000..4f681d2 --- /dev/null +++ b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_reservation_image_radio_button.xml b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml new file mode 100644 index 0000000..5babde1 --- /dev/null +++ b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_color.xml b/app/src/main/res/drawable/selector_text_color.xml new file mode 100644 index 0000000..f331c43 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_color.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_radio_button.xml b/app/src/main/res/drawable/selector_text_radio_button.xml new file mode 100644 index 0000000..f0954c9 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_radio_button.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_circle_off.xml b/app/src/main/res/drawable/switch_circle_off.xml index 183c8f6..0487243 100644 --- a/app/src/main/res/drawable/switch_circle_off.xml +++ b/app/src/main/res/drawable/switch_circle_off.xml @@ -9,5 +9,5 @@ android:width="2dp" android:color="@color/mainBackColor" /> - + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_circle_on.xml b/app/src/main/res/drawable/switch_circle_on.xml index 00e53b6..8ffa89d 100644 --- a/app/src/main/res/drawable/switch_circle_on.xml +++ b/app/src/main/res/drawable/switch_circle_on.xml @@ -9,5 +9,5 @@ android:width="2dp" android:color="@color/mainThemeColor" /> - + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_water_heater.xml b/app/src/main/res/layout/activity_water_heater.xml index d2de0ad..836ee10 100644 --- a/app/src/main/res/layout/activity_water_heater.xml +++ b/app/src/main/res/layout/activity_water_heater.xml @@ -29,24 +29,15 @@ android:textColor="@color/mainTextColor" android:textSize="@dimen/sp_14" /> - + app:tabIndicatorHeight="0dp" + app:tabSelectedTextColor="@color/mainThemeColor" + app:tabTextColor="@color/subMainThemeColor" /> - + android:layout_height="wrap_content"> + android:orientation="vertical"> + + + + + + android:textSize="@dimen/sp_14" /> + + + + + + + + + + android:gravity="center_vertical" + android:orientation="vertical" + android:padding="@dimen/dp_10"> - - - - - - - + android:layout_width="match_parent" + android:layout_height="wrap_content"> + android:text="温度设置" + android:textColor="@color/mainTextColor" + android:textSize="@dimen/sp_14" /> + + - + - - - - - - - - - - - - - + + android:text="30°C" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - \ No newline at end of file + diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_pressure.xml b/app/src/main/res/drawable/ic_pressure.xml index a217ee3..95b14a4 100644 --- a/app/src/main/res/drawable/ic_pressure.xml +++ b/app/src/main/res/drawable/ic_pressure.xml @@ -3,16 +3,21 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_pressure_main.xml b/app/src/main/res/drawable/ic_pressure_main.xml new file mode 100644 index 0000000..59d0e04 --- /dev/null +++ b/app/src/main/res/drawable/ic_pressure_main.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_reservation.xml b/app/src/main/res/drawable/ic_reservation.xml index 875a4d3..e7544d7 100644 --- a/app/src/main/res/drawable/ic_reservation.xml +++ b/app/src/main/res/drawable/ic_reservation.xml @@ -4,9 +4,13 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + diff --git a/app/src/main/res/drawable/ic_reservation_main.xml b/app/src/main/res/drawable/ic_reservation_main.xml new file mode 100644 index 0000000..0e478b0 --- /dev/null +++ b/app/src/main/res/drawable/ic_reservation_main.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml deleted file mode 100644 index 3d50bdb..0000000 --- a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml index b18e5c5..2e2479b 100644 --- a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml +++ b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml @@ -12,7 +12,7 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_initiate_image_radio_button.xml b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml new file mode 100644 index 0000000..9a29246 --- /dev/null +++ b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_once_image_radio_button.xml b/app/src/main/res/drawable/selector_once_image_radio_button.xml new file mode 100644 index 0000000..6cf1b3b --- /dev/null +++ b/app/src/main/res/drawable/selector_once_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_pressure_image_radio_button.xml b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml new file mode 100644 index 0000000..4f681d2 --- /dev/null +++ b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_reservation_image_radio_button.xml b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml new file mode 100644 index 0000000..5babde1 --- /dev/null +++ b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_color.xml b/app/src/main/res/drawable/selector_text_color.xml new file mode 100644 index 0000000..f331c43 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_color.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_radio_button.xml b/app/src/main/res/drawable/selector_text_radio_button.xml new file mode 100644 index 0000000..f0954c9 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_radio_button.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_circle_off.xml b/app/src/main/res/drawable/switch_circle_off.xml index 183c8f6..0487243 100644 --- a/app/src/main/res/drawable/switch_circle_off.xml +++ b/app/src/main/res/drawable/switch_circle_off.xml @@ -9,5 +9,5 @@ android:width="2dp" android:color="@color/mainBackColor" /> - + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_circle_on.xml b/app/src/main/res/drawable/switch_circle_on.xml index 00e53b6..8ffa89d 100644 --- a/app/src/main/res/drawable/switch_circle_on.xml +++ b/app/src/main/res/drawable/switch_circle_on.xml @@ -9,5 +9,5 @@ android:width="2dp" android:color="@color/mainThemeColor" /> - + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_water_heater.xml b/app/src/main/res/layout/activity_water_heater.xml index d2de0ad..836ee10 100644 --- a/app/src/main/res/layout/activity_water_heater.xml +++ b/app/src/main/res/layout/activity_water_heater.xml @@ -29,24 +29,15 @@ android:textColor="@color/mainTextColor" android:textSize="@dimen/sp_14" /> - + app:tabIndicatorHeight="0dp" + app:tabSelectedTextColor="@color/mainThemeColor" + app:tabTextColor="@color/subMainThemeColor" /> - + android:layout_height="wrap_content"> + android:orientation="vertical"> + + + + + + android:textSize="@dimen/sp_14" /> + + + + + + + + + + android:gravity="center_vertical" + android:orientation="vertical" + android:padding="@dimen/dp_10"> - - - - - - - + android:layout_width="match_parent" + android:layout_height="wrap_content"> + android:text="温度设置" + android:textColor="@color/mainTextColor" + android:textSize="@dimen/sp_14" /> + + - + - - - - - - - - - - - - - + + android:text="30°C" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - \ No newline at end of file + diff --git a/app/src/main/res/layout/fragment_device_waterheater_control_kitchen.xml b/app/src/main/res/layout/fragment_device_waterheater_control_kitchen.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_device_waterheater_control_kitchen.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_pressure.xml b/app/src/main/res/drawable/ic_pressure.xml index a217ee3..95b14a4 100644 --- a/app/src/main/res/drawable/ic_pressure.xml +++ b/app/src/main/res/drawable/ic_pressure.xml @@ -3,16 +3,21 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_pressure_main.xml b/app/src/main/res/drawable/ic_pressure_main.xml new file mode 100644 index 0000000..59d0e04 --- /dev/null +++ b/app/src/main/res/drawable/ic_pressure_main.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_reservation.xml b/app/src/main/res/drawable/ic_reservation.xml index 875a4d3..e7544d7 100644 --- a/app/src/main/res/drawable/ic_reservation.xml +++ b/app/src/main/res/drawable/ic_reservation.xml @@ -4,9 +4,13 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + diff --git a/app/src/main/res/drawable/ic_reservation_main.xml b/app/src/main/res/drawable/ic_reservation_main.xml new file mode 100644 index 0000000..0e478b0 --- /dev/null +++ b/app/src/main/res/drawable/ic_reservation_main.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml deleted file mode 100644 index 3d50bdb..0000000 --- a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml index b18e5c5..2e2479b 100644 --- a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml +++ b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml @@ -12,7 +12,7 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_initiate_image_radio_button.xml b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml new file mode 100644 index 0000000..9a29246 --- /dev/null +++ b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_once_image_radio_button.xml b/app/src/main/res/drawable/selector_once_image_radio_button.xml new file mode 100644 index 0000000..6cf1b3b --- /dev/null +++ b/app/src/main/res/drawable/selector_once_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_pressure_image_radio_button.xml b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml new file mode 100644 index 0000000..4f681d2 --- /dev/null +++ b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_reservation_image_radio_button.xml b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml new file mode 100644 index 0000000..5babde1 --- /dev/null +++ b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_color.xml b/app/src/main/res/drawable/selector_text_color.xml new file mode 100644 index 0000000..f331c43 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_color.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_radio_button.xml b/app/src/main/res/drawable/selector_text_radio_button.xml new file mode 100644 index 0000000..f0954c9 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_radio_button.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_circle_off.xml b/app/src/main/res/drawable/switch_circle_off.xml index 183c8f6..0487243 100644 --- a/app/src/main/res/drawable/switch_circle_off.xml +++ b/app/src/main/res/drawable/switch_circle_off.xml @@ -9,5 +9,5 @@ android:width="2dp" android:color="@color/mainBackColor" /> - + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_circle_on.xml b/app/src/main/res/drawable/switch_circle_on.xml index 00e53b6..8ffa89d 100644 --- a/app/src/main/res/drawable/switch_circle_on.xml +++ b/app/src/main/res/drawable/switch_circle_on.xml @@ -9,5 +9,5 @@ android:width="2dp" android:color="@color/mainThemeColor" /> - + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_water_heater.xml b/app/src/main/res/layout/activity_water_heater.xml index d2de0ad..836ee10 100644 --- a/app/src/main/res/layout/activity_water_heater.xml +++ b/app/src/main/res/layout/activity_water_heater.xml @@ -29,24 +29,15 @@ android:textColor="@color/mainTextColor" android:textSize="@dimen/sp_14" /> - + app:tabIndicatorHeight="0dp" + app:tabSelectedTextColor="@color/mainThemeColor" + app:tabTextColor="@color/subMainThemeColor" /> - + android:layout_height="wrap_content"> + android:orientation="vertical"> + + + + + + android:textSize="@dimen/sp_14" /> + + + + + + + + + + android:gravity="center_vertical" + android:orientation="vertical" + android:padding="@dimen/dp_10"> - - - - - - - + android:layout_width="match_parent" + android:layout_height="wrap_content"> + android:text="温度设置" + android:textColor="@color/mainTextColor" + android:textSize="@dimen/sp_14" /> + + - + - - - - - - - - - - - - - + + android:text="30°C" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - \ No newline at end of file + diff --git a/app/src/main/res/layout/fragment_device_waterheater_control_kitchen.xml b/app/src/main/res/layout/fragment_device_waterheater_control_kitchen.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_device_waterheater_control_kitchen.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_waterheater_control_shower.xml b/app/src/main/res/layout/fragment_device_waterheater_control_shower.xml deleted file mode 100644 index 84e94b9..0000000 --- a/app/src/main/res/layout/fragment_device_waterheater_control_shower.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_pressure.xml b/app/src/main/res/drawable/ic_pressure.xml index a217ee3..95b14a4 100644 --- a/app/src/main/res/drawable/ic_pressure.xml +++ b/app/src/main/res/drawable/ic_pressure.xml @@ -3,16 +3,21 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_pressure_main.xml b/app/src/main/res/drawable/ic_pressure_main.xml new file mode 100644 index 0000000..59d0e04 --- /dev/null +++ b/app/src/main/res/drawable/ic_pressure_main.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_reservation.xml b/app/src/main/res/drawable/ic_reservation.xml index 875a4d3..e7544d7 100644 --- a/app/src/main/res/drawable/ic_reservation.xml +++ b/app/src/main/res/drawable/ic_reservation.xml @@ -4,9 +4,13 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + diff --git a/app/src/main/res/drawable/ic_reservation_main.xml b/app/src/main/res/drawable/ic_reservation_main.xml new file mode 100644 index 0000000..0e478b0 --- /dev/null +++ b/app/src/main/res/drawable/ic_reservation_main.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml deleted file mode 100644 index 3d50bdb..0000000 --- a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml index b18e5c5..2e2479b 100644 --- a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml +++ b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml @@ -12,7 +12,7 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_initiate_image_radio_button.xml b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml new file mode 100644 index 0000000..9a29246 --- /dev/null +++ b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_once_image_radio_button.xml b/app/src/main/res/drawable/selector_once_image_radio_button.xml new file mode 100644 index 0000000..6cf1b3b --- /dev/null +++ b/app/src/main/res/drawable/selector_once_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_pressure_image_radio_button.xml b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml new file mode 100644 index 0000000..4f681d2 --- /dev/null +++ b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_reservation_image_radio_button.xml b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml new file mode 100644 index 0000000..5babde1 --- /dev/null +++ b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_color.xml b/app/src/main/res/drawable/selector_text_color.xml new file mode 100644 index 0000000..f331c43 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_color.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_radio_button.xml b/app/src/main/res/drawable/selector_text_radio_button.xml new file mode 100644 index 0000000..f0954c9 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_radio_button.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_circle_off.xml b/app/src/main/res/drawable/switch_circle_off.xml index 183c8f6..0487243 100644 --- a/app/src/main/res/drawable/switch_circle_off.xml +++ b/app/src/main/res/drawable/switch_circle_off.xml @@ -9,5 +9,5 @@ android:width="2dp" android:color="@color/mainBackColor" /> - + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_circle_on.xml b/app/src/main/res/drawable/switch_circle_on.xml index 00e53b6..8ffa89d 100644 --- a/app/src/main/res/drawable/switch_circle_on.xml +++ b/app/src/main/res/drawable/switch_circle_on.xml @@ -9,5 +9,5 @@ android:width="2dp" android:color="@color/mainThemeColor" /> - + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_water_heater.xml b/app/src/main/res/layout/activity_water_heater.xml index d2de0ad..836ee10 100644 --- a/app/src/main/res/layout/activity_water_heater.xml +++ b/app/src/main/res/layout/activity_water_heater.xml @@ -29,24 +29,15 @@ android:textColor="@color/mainTextColor" android:textSize="@dimen/sp_14" /> - + app:tabIndicatorHeight="0dp" + app:tabSelectedTextColor="@color/mainThemeColor" + app:tabTextColor="@color/subMainThemeColor" /> - + android:layout_height="wrap_content"> + android:orientation="vertical"> + + + + + + android:textSize="@dimen/sp_14" /> + + + + + + + + + + android:gravity="center_vertical" + android:orientation="vertical" + android:padding="@dimen/dp_10"> - - - - - - - + android:layout_width="match_parent" + android:layout_height="wrap_content"> + android:text="温度设置" + android:textColor="@color/mainTextColor" + android:textSize="@dimen/sp_14" /> + + - + - - - - - - - - - - - - - + + android:text="30°C" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - \ No newline at end of file + diff --git a/app/src/main/res/layout/fragment_device_waterheater_control_kitchen.xml b/app/src/main/res/layout/fragment_device_waterheater_control_kitchen.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_device_waterheater_control_kitchen.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_waterheater_control_shower.xml b/app/src/main/res/layout/fragment_device_waterheater_control_shower.xml deleted file mode 100644 index 84e94b9..0000000 --- a/app/src/main/res/layout/fragment_device_waterheater_control_shower.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_waterheater_control_temp.xml b/app/src/main/res/layout/fragment_device_waterheater_control_temp.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_device_waterheater_control_temp.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_pressure.xml b/app/src/main/res/drawable/ic_pressure.xml index a217ee3..95b14a4 100644 --- a/app/src/main/res/drawable/ic_pressure.xml +++ b/app/src/main/res/drawable/ic_pressure.xml @@ -3,16 +3,21 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_pressure_main.xml b/app/src/main/res/drawable/ic_pressure_main.xml new file mode 100644 index 0000000..59d0e04 --- /dev/null +++ b/app/src/main/res/drawable/ic_pressure_main.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_reservation.xml b/app/src/main/res/drawable/ic_reservation.xml index 875a4d3..e7544d7 100644 --- a/app/src/main/res/drawable/ic_reservation.xml +++ b/app/src/main/res/drawable/ic_reservation.xml @@ -4,9 +4,13 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + diff --git a/app/src/main/res/drawable/ic_reservation_main.xml b/app/src/main/res/drawable/ic_reservation_main.xml new file mode 100644 index 0000000..0e478b0 --- /dev/null +++ b/app/src/main/res/drawable/ic_reservation_main.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml deleted file mode 100644 index 3d50bdb..0000000 --- a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml index b18e5c5..2e2479b 100644 --- a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml +++ b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml @@ -12,7 +12,7 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_initiate_image_radio_button.xml b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml new file mode 100644 index 0000000..9a29246 --- /dev/null +++ b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_once_image_radio_button.xml b/app/src/main/res/drawable/selector_once_image_radio_button.xml new file mode 100644 index 0000000..6cf1b3b --- /dev/null +++ b/app/src/main/res/drawable/selector_once_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_pressure_image_radio_button.xml b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml new file mode 100644 index 0000000..4f681d2 --- /dev/null +++ b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_reservation_image_radio_button.xml b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml new file mode 100644 index 0000000..5babde1 --- /dev/null +++ b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_color.xml b/app/src/main/res/drawable/selector_text_color.xml new file mode 100644 index 0000000..f331c43 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_color.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_radio_button.xml b/app/src/main/res/drawable/selector_text_radio_button.xml new file mode 100644 index 0000000..f0954c9 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_radio_button.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_circle_off.xml b/app/src/main/res/drawable/switch_circle_off.xml index 183c8f6..0487243 100644 --- a/app/src/main/res/drawable/switch_circle_off.xml +++ b/app/src/main/res/drawable/switch_circle_off.xml @@ -9,5 +9,5 @@ android:width="2dp" android:color="@color/mainBackColor" /> - + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_circle_on.xml b/app/src/main/res/drawable/switch_circle_on.xml index 00e53b6..8ffa89d 100644 --- a/app/src/main/res/drawable/switch_circle_on.xml +++ b/app/src/main/res/drawable/switch_circle_on.xml @@ -9,5 +9,5 @@ android:width="2dp" android:color="@color/mainThemeColor" /> - + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_water_heater.xml b/app/src/main/res/layout/activity_water_heater.xml index d2de0ad..836ee10 100644 --- a/app/src/main/res/layout/activity_water_heater.xml +++ b/app/src/main/res/layout/activity_water_heater.xml @@ -29,24 +29,15 @@ android:textColor="@color/mainTextColor" android:textSize="@dimen/sp_14" /> - + app:tabIndicatorHeight="0dp" + app:tabSelectedTextColor="@color/mainThemeColor" + app:tabTextColor="@color/subMainThemeColor" /> - + android:layout_height="wrap_content"> + android:orientation="vertical"> + + + + + + android:textSize="@dimen/sp_14" /> + + + + + + + + + + android:gravity="center_vertical" + android:orientation="vertical" + android:padding="@dimen/dp_10"> - - - - - - - + android:layout_width="match_parent" + android:layout_height="wrap_content"> + android:text="温度设置" + android:textColor="@color/mainTextColor" + android:textSize="@dimen/sp_14" /> + + - + - - - - - - - - - - - - - + + android:text="30°C" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - \ No newline at end of file + diff --git a/app/src/main/res/layout/fragment_device_waterheater_control_kitchen.xml b/app/src/main/res/layout/fragment_device_waterheater_control_kitchen.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_device_waterheater_control_kitchen.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_waterheater_control_shower.xml b/app/src/main/res/layout/fragment_device_waterheater_control_shower.xml deleted file mode 100644 index 84e94b9..0000000 --- a/app/src/main/res/layout/fragment_device_waterheater_control_shower.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_waterheater_control_temp.xml b/app/src/main/res/layout/fragment_device_waterheater_control_temp.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_device_waterheater_control_temp.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/item_shower_control_g.xml b/app/src/main/res/layout/item_shower_control_g.xml deleted file mode 100644 index 79de890..0000000 --- a/app/src/main/res/layout/item_shower_control_g.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_pressure.xml b/app/src/main/res/drawable/ic_pressure.xml index a217ee3..95b14a4 100644 --- a/app/src/main/res/drawable/ic_pressure.xml +++ b/app/src/main/res/drawable/ic_pressure.xml @@ -3,16 +3,21 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_pressure_main.xml b/app/src/main/res/drawable/ic_pressure_main.xml new file mode 100644 index 0000000..59d0e04 --- /dev/null +++ b/app/src/main/res/drawable/ic_pressure_main.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_reservation.xml b/app/src/main/res/drawable/ic_reservation.xml index 875a4d3..e7544d7 100644 --- a/app/src/main/res/drawable/ic_reservation.xml +++ b/app/src/main/res/drawable/ic_reservation.xml @@ -4,9 +4,13 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + diff --git a/app/src/main/res/drawable/ic_reservation_main.xml b/app/src/main/res/drawable/ic_reservation_main.xml new file mode 100644 index 0000000..0e478b0 --- /dev/null +++ b/app/src/main/res/drawable/ic_reservation_main.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml deleted file mode 100644 index 3d50bdb..0000000 --- a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml index b18e5c5..2e2479b 100644 --- a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml +++ b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml @@ -12,7 +12,7 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_initiate_image_radio_button.xml b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml new file mode 100644 index 0000000..9a29246 --- /dev/null +++ b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_once_image_radio_button.xml b/app/src/main/res/drawable/selector_once_image_radio_button.xml new file mode 100644 index 0000000..6cf1b3b --- /dev/null +++ b/app/src/main/res/drawable/selector_once_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_pressure_image_radio_button.xml b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml new file mode 100644 index 0000000..4f681d2 --- /dev/null +++ b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_reservation_image_radio_button.xml b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml new file mode 100644 index 0000000..5babde1 --- /dev/null +++ b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_color.xml b/app/src/main/res/drawable/selector_text_color.xml new file mode 100644 index 0000000..f331c43 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_color.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_radio_button.xml b/app/src/main/res/drawable/selector_text_radio_button.xml new file mode 100644 index 0000000..f0954c9 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_radio_button.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_circle_off.xml b/app/src/main/res/drawable/switch_circle_off.xml index 183c8f6..0487243 100644 --- a/app/src/main/res/drawable/switch_circle_off.xml +++ b/app/src/main/res/drawable/switch_circle_off.xml @@ -9,5 +9,5 @@ android:width="2dp" android:color="@color/mainBackColor" /> - + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_circle_on.xml b/app/src/main/res/drawable/switch_circle_on.xml index 00e53b6..8ffa89d 100644 --- a/app/src/main/res/drawable/switch_circle_on.xml +++ b/app/src/main/res/drawable/switch_circle_on.xml @@ -9,5 +9,5 @@ android:width="2dp" android:color="@color/mainThemeColor" /> - + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_water_heater.xml b/app/src/main/res/layout/activity_water_heater.xml index d2de0ad..836ee10 100644 --- a/app/src/main/res/layout/activity_water_heater.xml +++ b/app/src/main/res/layout/activity_water_heater.xml @@ -29,24 +29,15 @@ android:textColor="@color/mainTextColor" android:textSize="@dimen/sp_14" /> - + app:tabIndicatorHeight="0dp" + app:tabSelectedTextColor="@color/mainThemeColor" + app:tabTextColor="@color/subMainThemeColor" /> - + android:layout_height="wrap_content"> + android:orientation="vertical"> + + + + + + android:textSize="@dimen/sp_14" /> + + + + + + + + + + android:gravity="center_vertical" + android:orientation="vertical" + android:padding="@dimen/dp_10"> - - - - - - - + android:layout_width="match_parent" + android:layout_height="wrap_content"> + android:text="温度设置" + android:textColor="@color/mainTextColor" + android:textSize="@dimen/sp_14" /> + + - + - - - - - - - - - - - - - + + android:text="30°C" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - \ No newline at end of file + diff --git a/app/src/main/res/layout/fragment_device_waterheater_control_kitchen.xml b/app/src/main/res/layout/fragment_device_waterheater_control_kitchen.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_device_waterheater_control_kitchen.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_waterheater_control_shower.xml b/app/src/main/res/layout/fragment_device_waterheater_control_shower.xml deleted file mode 100644 index 84e94b9..0000000 --- a/app/src/main/res/layout/fragment_device_waterheater_control_shower.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_waterheater_control_temp.xml b/app/src/main/res/layout/fragment_device_waterheater_control_temp.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_device_waterheater_control_temp.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/item_shower_control_g.xml b/app/src/main/res/layout/item_shower_control_g.xml deleted file mode 100644 index 79de890..0000000 --- a/app/src/main/res/layout/item_shower_control_g.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/item_top_tab.xml b/app/src/main/res/layout/item_top_tab.xml new file mode 100644 index 0000000..428aac6 --- /dev/null +++ b/app/src/main/res/layout/item_top_tab.xml @@ -0,0 +1,10 @@ + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_pressure.xml b/app/src/main/res/drawable/ic_pressure.xml index a217ee3..95b14a4 100644 --- a/app/src/main/res/drawable/ic_pressure.xml +++ b/app/src/main/res/drawable/ic_pressure.xml @@ -3,16 +3,21 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_pressure_main.xml b/app/src/main/res/drawable/ic_pressure_main.xml new file mode 100644 index 0000000..59d0e04 --- /dev/null +++ b/app/src/main/res/drawable/ic_pressure_main.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_reservation.xml b/app/src/main/res/drawable/ic_reservation.xml index 875a4d3..e7544d7 100644 --- a/app/src/main/res/drawable/ic_reservation.xml +++ b/app/src/main/res/drawable/ic_reservation.xml @@ -4,9 +4,13 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + diff --git a/app/src/main/res/drawable/ic_reservation_main.xml b/app/src/main/res/drawable/ic_reservation_main.xml new file mode 100644 index 0000000..0e478b0 --- /dev/null +++ b/app/src/main/res/drawable/ic_reservation_main.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml deleted file mode 100644 index 3d50bdb..0000000 --- a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml index b18e5c5..2e2479b 100644 --- a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml +++ b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml @@ -12,7 +12,7 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_initiate_image_radio_button.xml b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml new file mode 100644 index 0000000..9a29246 --- /dev/null +++ b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_once_image_radio_button.xml b/app/src/main/res/drawable/selector_once_image_radio_button.xml new file mode 100644 index 0000000..6cf1b3b --- /dev/null +++ b/app/src/main/res/drawable/selector_once_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_pressure_image_radio_button.xml b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml new file mode 100644 index 0000000..4f681d2 --- /dev/null +++ b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_reservation_image_radio_button.xml b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml new file mode 100644 index 0000000..5babde1 --- /dev/null +++ b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_color.xml b/app/src/main/res/drawable/selector_text_color.xml new file mode 100644 index 0000000..f331c43 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_color.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_radio_button.xml b/app/src/main/res/drawable/selector_text_radio_button.xml new file mode 100644 index 0000000..f0954c9 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_radio_button.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_circle_off.xml b/app/src/main/res/drawable/switch_circle_off.xml index 183c8f6..0487243 100644 --- a/app/src/main/res/drawable/switch_circle_off.xml +++ b/app/src/main/res/drawable/switch_circle_off.xml @@ -9,5 +9,5 @@ android:width="2dp" android:color="@color/mainBackColor" /> - + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_circle_on.xml b/app/src/main/res/drawable/switch_circle_on.xml index 00e53b6..8ffa89d 100644 --- a/app/src/main/res/drawable/switch_circle_on.xml +++ b/app/src/main/res/drawable/switch_circle_on.xml @@ -9,5 +9,5 @@ android:width="2dp" android:color="@color/mainThemeColor" /> - + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_water_heater.xml b/app/src/main/res/layout/activity_water_heater.xml index d2de0ad..836ee10 100644 --- a/app/src/main/res/layout/activity_water_heater.xml +++ b/app/src/main/res/layout/activity_water_heater.xml @@ -29,24 +29,15 @@ android:textColor="@color/mainTextColor" android:textSize="@dimen/sp_14" /> - + app:tabIndicatorHeight="0dp" + app:tabSelectedTextColor="@color/mainThemeColor" + app:tabTextColor="@color/subMainThemeColor" /> - + android:layout_height="wrap_content"> + android:orientation="vertical"> + + + + + + android:textSize="@dimen/sp_14" /> + + + + + + + + + + android:gravity="center_vertical" + android:orientation="vertical" + android:padding="@dimen/dp_10"> - - - - - - - + android:layout_width="match_parent" + android:layout_height="wrap_content"> + android:text="温度设置" + android:textColor="@color/mainTextColor" + android:textSize="@dimen/sp_14" /> + + - + - - - - - - - - - - - - - + + android:text="30°C" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - \ No newline at end of file + diff --git a/app/src/main/res/layout/fragment_device_waterheater_control_kitchen.xml b/app/src/main/res/layout/fragment_device_waterheater_control_kitchen.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_device_waterheater_control_kitchen.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_waterheater_control_shower.xml b/app/src/main/res/layout/fragment_device_waterheater_control_shower.xml deleted file mode 100644 index 84e94b9..0000000 --- a/app/src/main/res/layout/fragment_device_waterheater_control_shower.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_waterheater_control_temp.xml b/app/src/main/res/layout/fragment_device_waterheater_control_temp.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_device_waterheater_control_temp.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/item_shower_control_g.xml b/app/src/main/res/layout/item_shower_control_g.xml deleted file mode 100644 index 79de890..0000000 --- a/app/src/main/res/layout/item_shower_control_g.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/item_top_tab.xml b/app/src/main/res/layout/item_top_tab.xml new file mode 100644 index 0000000..428aac6 --- /dev/null +++ b/app/src/main/res/layout/item_top_tab.xml @@ -0,0 +1,10 @@ + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 19d2185..6acfd37 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -2,6 +2,7 @@ #2483B3 #662483B3 + #D3E6F0 #333333 #626262 #F7F7FA diff --git a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt b/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt deleted file mode 100644 index c9c589d..0000000 --- a/app/src/main/java/com/casic/br/adapter/ShowerControlAdapter.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.br.adapter - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.BaseAdapter -import android.widget.ImageView -import android.widget.TextView -import com.casic.br.R - -class ShowerControlAdapter( - context: Context, private val icons: IntArray, private val tags: Array -) : BaseAdapter() { - - private var layoutInflater: LayoutInflater = LayoutInflater.from(context) - - override fun getItemId(position: Int): Long = position.toLong() - - override fun getCount(): Int = icons.size - - override fun getItem(position: Int): Any = icons[position] - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - val holder: ItemViewHolder - if (convertView == null) { - view = layoutInflater.inflate(R.layout.item_shower_control_g, null) - holder = ItemViewHolder() - holder.controllerIconView = view.findViewById(R.id.controllerIconView) - holder.controllerTagView = view.findViewById(R.id.controllerTagView) - view.tag = holder - } else { - view = convertView - holder = view.tag as ItemViewHolder - } - holder.controllerIconView.setImageResource(icons[position]) - holder.controllerTagView.text = tags[position] - return view - } - - private class ItemViewHolder { - lateinit var controllerIconView: ImageView - lateinit var controllerTagView: TextView - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index 1f91a88..4ab193d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -104,6 +104,17 @@ deviceModels.add(model) } + //TODO 测试 + val model = AddedDeviceModel() + model.deviceId = "" + model.deviceName = "万家乐热水器" + model.isOnline = false + model.deviceImage = "" + model.deviceModel = "" + model.deviceType = "" + model.deviceUsedTime = "已使用0天" + deviceModels.add(model) + when { isRefresh -> { dataBeans.clear() diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt index d377d13..d6fde81 100644 --- a/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/waterheater/ControlPageFragment.kt @@ -1,28 +1,10 @@ package com.casic.br.fragment.waterheater -import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R -import com.casic.br.adapter.TabPagerAdapter -import com.casic.br.fragment.waterheater.control.KitchenPageFragment -import com.casic.br.fragment.waterheater.control.ShowerPageFragment -import com.casic.br.fragment.waterheater.control.TemperaturePageFragment -import com.flyco.tablayout.listener.OnTabSelectListener import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control.* -import java.util.* class ControlPageFragment : KotlinBaseFragment() { - private val controllerSegmentTitle = arrayOf("厨房", "舒适浴", "随温感") - private var fragmentPages: ArrayList = ArrayList() - - init { - fragmentPages.add(KitchenPageFragment()) - fragmentPages.add(ShowerPageFragment()) - fragmentPages.add(TemperaturePageFragment()) - } - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control override fun setupTopBarLayout() { @@ -30,7 +12,7 @@ } override fun initData() { - controllerSegmentView.setTabData(controllerSegmentTitle) + } override fun observeRequestState() { @@ -38,33 +20,6 @@ } override fun initEvent() { - controllerSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - controllerViewPager.currentItem = position - } - override fun onTabReselect(position: Int) { - - } - }) - controllerViewPager.adapter = - TabPagerAdapter(fragmentPages, controllerSegmentTitle, childFragmentManager) - controllerViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - - } - - override fun onPageSelected(position: Int) { - controllerSegmentView.currentTab = position - } - - override fun onPageScrollStateChanged(state: Int) { - - } - - }) - controllerViewPager.currentItem = 1 } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt deleted file mode 100644 index 7170a7a..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/KitchenPageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class KitchenPageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_kitchen - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt deleted file mode 100644 index 2297699..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/ShowerPageFragment.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import android.view.View -import android.widget.AdapterView -import com.casic.br.R -import com.casic.br.adapter.ShowerControlAdapter -import com.pengxh.kt.lite.base.KotlinBaseFragment -import kotlinx.android.synthetic.main.fragment_device_waterheater_control_shower.* - -class ShowerPageFragment : KotlinBaseFragment() { - - private val icons = intArrayOf( - R.drawable.ic_once, - R.drawable.ic_initiate, - R.drawable.ic_reservation, - R.drawable.ic_pressure - ) - private val tags = arrayOf("单次", "点动", "预约", "增压") - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_shower - - override fun setupTopBarLayout() { - - } - - override fun initData() { - showerGridView.adapter = ShowerControlAdapter(requireContext(), icons, tags) - showerGridView.onItemClickListener = object : AdapterView.OnItemClickListener { - override fun onItemClick( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { - - } - } - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt b/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt deleted file mode 100644 index ab0460b..0000000 --- a/app/src/main/java/com/casic/br/fragment/waterheater/control/TemperaturePageFragment.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.casic.br.fragment.waterheater.control - -import com.casic.br.R -import com.pengxh.kt.lite.base.KotlinBaseFragment - -class TemperaturePageFragment : KotlinBaseFragment() { - - override fun initLayoutView(): Int = R.layout.fragment_device_waterheater_control_temp - - override fun setupTopBarLayout() { - - } - - override fun initData() { - - } - - override fun observeRequestState() { - - } - - override fun initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt index 423ef45..9756a5e 100644 --- a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt @@ -1,14 +1,17 @@ package com.casic.br.view.device +import android.content.Context +import android.graphics.Typeface +import android.view.LayoutInflater +import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.viewpager.widget.ViewPager import com.casic.br.R import com.casic.br.adapter.TabPagerAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.fragment.waterheater.ControlPageFragment import com.casic.br.fragment.waterheater.ServicePageFragment import com.casic.br.fragment.waterheater.StatusPageFragment -import com.flyco.tablayout.listener.OnTabSelectListener +import com.google.android.material.tabs.TabLayout import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.utils.Constant @@ -22,6 +25,8 @@ * */ class WaterHeaterActivity : KotlinBaseActivity() { + private val context: Context = this@WaterHeaterActivity + private val inflater by lazy { LayoutInflater.from(this) } private val deviceSegmentTitle = arrayOf("设备控制", "状态显示", "服务设置") private var fragmentPages: ArrayList = ArrayList() @@ -42,7 +47,7 @@ } override fun initData() { - deviceSegmentView.setTabData(deviceSegmentTitle) + } override fun observeRequestState() { @@ -54,33 +59,25 @@ } - deviceSegmentView.setOnTabSelectListener(object : OnTabSelectListener { - override fun onTabSelect(position: Int) { - deviceViewPager.currentItem = position - } - - override fun onTabReselect(position: Int) { - - } - }) deviceViewPager.adapter = TabPagerAdapter(fragmentPages, deviceSegmentTitle, supportFragmentManager) - deviceViewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { - override fun onPageScrolled( - position: Int, positionOffset: Float, positionOffsetPixels: Int - ) { - + deviceTabLayout.setupWithViewPager(deviceViewPager) + deviceTabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabSelected(tab: TabLayout.Tab?) { + val textView = inflater.inflate(R.layout.item_top_tab, null) as TextView + textView.textSize = 16f + textView.typeface = Typeface.DEFAULT_BOLD + textView.text = tab!!.text + tab.customView = textView } - override fun onPageSelected(position: Int) { - deviceSegmentView.currentTab = position + override fun onTabUnselected(tab: TabLayout.Tab?) { + tab?.customView = null } - override fun onPageScrollStateChanged(state: Int) { + override fun onTabReselected(tab: TabLayout.Tab?) { } - }) - deviceViewPager.currentItem = 0 } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml b/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml deleted file mode 100644 index da19b22..0000000 --- a/app/src/main/res/drawable/bg_solid_layout_light_main_radius_7.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/button_common_selector.xml b/app/src/main/res/drawable/button_common_selector.xml index d806fcf..9f5e496 100644 --- a/app/src/main/res/drawable/button_common_selector.xml +++ b/app/src/main/res/drawable/button_common_selector.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/drawable/ic_initiate.xml b/app/src/main/res/drawable/ic_initiate.xml index a84572b..a7103b7 100644 --- a/app/src/main/res/drawable/ic_initiate.xml +++ b/app/src/main/res/drawable/ic_initiate.xml @@ -3,13 +3,18 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_initiate_main.xml b/app/src/main/res/drawable/ic_initiate_main.xml new file mode 100644 index 0000000..a51a14d --- /dev/null +++ b/app/src/main/res/drawable/ic_initiate_main.xml @@ -0,0 +1,19 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_once.xml b/app/src/main/res/drawable/ic_once.xml index aeb1d55..24ca62a 100644 --- a/app/src/main/res/drawable/ic_once.xml +++ b/app/src/main/res/drawable/ic_once.xml @@ -3,10 +3,15 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_once_main.xml b/app/src/main/res/drawable/ic_once_main.xml new file mode 100644 index 0000000..d3c05c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_once_main.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_pressure.xml b/app/src/main/res/drawable/ic_pressure.xml index a217ee3..95b14a4 100644 --- a/app/src/main/res/drawable/ic_pressure.xml +++ b/app/src/main/res/drawable/ic_pressure.xml @@ -3,16 +3,21 @@ android:height="88px" android:viewportWidth="1024" android:viewportHeight="1024"> + + diff --git a/app/src/main/res/drawable/ic_pressure_main.xml b/app/src/main/res/drawable/ic_pressure_main.xml new file mode 100644 index 0000000..59d0e04 --- /dev/null +++ b/app/src/main/res/drawable/ic_pressure_main.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_reservation.xml b/app/src/main/res/drawable/ic_reservation.xml index 875a4d3..e7544d7 100644 --- a/app/src/main/res/drawable/ic_reservation.xml +++ b/app/src/main/res/drawable/ic_reservation.xml @@ -4,9 +4,13 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + diff --git a/app/src/main/res/drawable/ic_reservation_main.xml b/app/src/main/res/drawable/ic_reservation_main.xml new file mode 100644 index 0000000..0e478b0 --- /dev/null +++ b/app/src/main/res/drawable/ic_reservation_main.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml deleted file mode 100644 index 3d50bdb..0000000 --- a/app/src/main/res/drawable/selector_bg_solid_layout_main_radius_10.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml index b18e5c5..2e2479b 100644 --- a/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml +++ b/app/src/main/res/drawable/selector_bg_stroke_layout_main_radius_10.xml @@ -12,7 +12,7 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_initiate_image_radio_button.xml b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml new file mode 100644 index 0000000..9a29246 --- /dev/null +++ b/app/src/main/res/drawable/selector_initiate_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_once_image_radio_button.xml b/app/src/main/res/drawable/selector_once_image_radio_button.xml new file mode 100644 index 0000000..6cf1b3b --- /dev/null +++ b/app/src/main/res/drawable/selector_once_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_pressure_image_radio_button.xml b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml new file mode 100644 index 0000000..4f681d2 --- /dev/null +++ b/app/src/main/res/drawable/selector_pressure_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_reservation_image_radio_button.xml b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml new file mode 100644 index 0000000..5babde1 --- /dev/null +++ b/app/src/main/res/drawable/selector_reservation_image_radio_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_color.xml b/app/src/main/res/drawable/selector_text_color.xml new file mode 100644 index 0000000..f331c43 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_color.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_text_radio_button.xml b/app/src/main/res/drawable/selector_text_radio_button.xml new file mode 100644 index 0000000..f0954c9 --- /dev/null +++ b/app/src/main/res/drawable/selector_text_radio_button.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_circle_off.xml b/app/src/main/res/drawable/switch_circle_off.xml index 183c8f6..0487243 100644 --- a/app/src/main/res/drawable/switch_circle_off.xml +++ b/app/src/main/res/drawable/switch_circle_off.xml @@ -9,5 +9,5 @@ android:width="2dp" android:color="@color/mainBackColor" /> - + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_circle_on.xml b/app/src/main/res/drawable/switch_circle_on.xml index 00e53b6..8ffa89d 100644 --- a/app/src/main/res/drawable/switch_circle_on.xml +++ b/app/src/main/res/drawable/switch_circle_on.xml @@ -9,5 +9,5 @@ android:width="2dp" android:color="@color/mainThemeColor" /> - + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_water_heater.xml b/app/src/main/res/layout/activity_water_heater.xml index d2de0ad..836ee10 100644 --- a/app/src/main/res/layout/activity_water_heater.xml +++ b/app/src/main/res/layout/activity_water_heater.xml @@ -29,24 +29,15 @@ android:textColor="@color/mainTextColor" android:textSize="@dimen/sp_14" /> - + app:tabIndicatorHeight="0dp" + app:tabSelectedTextColor="@color/mainThemeColor" + app:tabTextColor="@color/subMainThemeColor" /> - + android:layout_height="wrap_content"> + android:orientation="vertical"> + + + + + + android:textSize="@dimen/sp_14" /> + + + + + + + + + + android:gravity="center_vertical" + android:orientation="vertical" + android:padding="@dimen/dp_10"> - - - - - - - + android:layout_width="match_parent" + android:layout_height="wrap_content"> + android:text="温度设置" + android:textColor="@color/mainTextColor" + android:textSize="@dimen/sp_14" /> + + - + - - - - - - - - - - - - - + + android:text="30°C" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - \ No newline at end of file + diff --git a/app/src/main/res/layout/fragment_device_waterheater_control_kitchen.xml b/app/src/main/res/layout/fragment_device_waterheater_control_kitchen.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_device_waterheater_control_kitchen.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_waterheater_control_shower.xml b/app/src/main/res/layout/fragment_device_waterheater_control_shower.xml deleted file mode 100644 index 84e94b9..0000000 --- a/app/src/main/res/layout/fragment_device_waterheater_control_shower.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_device_waterheater_control_temp.xml b/app/src/main/res/layout/fragment_device_waterheater_control_temp.xml deleted file mode 100644 index 77d9ef6..0000000 --- a/app/src/main/res/layout/fragment_device_waterheater_control_temp.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/item_shower_control_g.xml b/app/src/main/res/layout/item_shower_control_g.xml deleted file mode 100644 index 79de890..0000000 --- a/app/src/main/res/layout/item_shower_control_g.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/item_top_tab.xml b/app/src/main/res/layout/item_top_tab.xml new file mode 100644 index 0000000..428aac6 --- /dev/null +++ b/app/src/main/res/layout/item_top_tab.xml @@ -0,0 +1,10 @@ + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 19d2185..6acfd37 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -2,6 +2,7 @@ #2483B3 #662483B3 + #D3E6F0 #333333 #626262 #F7F7FA diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 7e34f43..e64d0f3 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -59,8 +59,29 @@ @dimen/sp_14 + + + +