diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt new file mode 100644 index 0000000..1f08118 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt @@ -0,0 +1,45 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R + +/** + * 主页功能,九宫格Adapter + * */ +class HomeGridAdapter(context: Context, private val dataRows: Array) : + RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_home_rv_g, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + holder.homeFunctionView.text = dataRows[position] + holder.itemView.setOnClickListener { + clickListener?.onItemClick(position) + } + } + + override fun getItemCount(): Int = dataRows.size + + private var clickListener: OnGridItemClickListener? = null + + interface OnGridItemClickListener { + fun onItemClick(position: Int) + } + + fun setOnGridItemClickListener(clickListener: OnGridItemClickListener?) { + this.clickListener = clickListener + } + + class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + val homeFunctionView: TextView = itemView.findViewById(R.id.homeFunctionView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt new file mode 100644 index 0000000..1f08118 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt @@ -0,0 +1,45 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R + +/** + * 主页功能,九宫格Adapter + * */ +class HomeGridAdapter(context: Context, private val dataRows: Array) : + RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_home_rv_g, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + holder.homeFunctionView.text = dataRows[position] + holder.itemView.setOnClickListener { + clickListener?.onItemClick(position) + } + } + + override fun getItemCount(): Int = dataRows.size + + private var clickListener: OnGridItemClickListener? = null + + interface OnGridItemClickListener { + fun onItemClick(position: Int) + } + + fun setOnGridItemClickListener(clickListener: OnGridItemClickListener?) { + this.clickListener = clickListener + } + + class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + val homeFunctionView: TextView = itemView.findViewById(R.id.homeFunctionView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index aee50a8..f78b3a2 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -1,24 +1,36 @@ package com.casic.xz.meterage.fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.HomeGridAdapter +import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_home.* -class HomePageFragment : KotlinBaseFragment(){ +class HomePageFragment : KotlinBaseFragment() { + override fun initData() { - + val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE) + homeFuncRecyclerView.adapter = homeAdapter + homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener { + override fun onItemClick(position: Int) { + when (position) { + + } + } + }) } override fun initEvent() { - + } override fun initLayoutView(): Int = R.layout.fragment_home override fun observeRequestState() { - + } override fun setupTopBarLayout() { - + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt new file mode 100644 index 0000000..1f08118 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt @@ -0,0 +1,45 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R + +/** + * 主页功能,九宫格Adapter + * */ +class HomeGridAdapter(context: Context, private val dataRows: Array) : + RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_home_rv_g, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + holder.homeFunctionView.text = dataRows[position] + holder.itemView.setOnClickListener { + clickListener?.onItemClick(position) + } + } + + override fun getItemCount(): Int = dataRows.size + + private var clickListener: OnGridItemClickListener? = null + + interface OnGridItemClickListener { + fun onItemClick(position: Int) + } + + fun setOnGridItemClickListener(clickListener: OnGridItemClickListener?) { + this.clickListener = clickListener + } + + class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + val homeFunctionView: TextView = itemView.findViewById(R.id.homeFunctionView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index aee50a8..f78b3a2 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -1,24 +1,36 @@ package com.casic.xz.meterage.fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.HomeGridAdapter +import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_home.* -class HomePageFragment : KotlinBaseFragment(){ +class HomePageFragment : KotlinBaseFragment() { + override fun initData() { - + val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE) + homeFuncRecyclerView.adapter = homeAdapter + homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener { + override fun onItemClick(position: Int) { + when (position) { + + } + } + }) } override fun initEvent() { - + } override fun initLayoutView(): Int = R.layout.fragment_home override fun observeRequestState() { - + } override fun setupTopBarLayout() { - + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 7bc5704..6ddc53e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -14,6 +14,10 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE ) + val HOME_FUNC_OPERATE = arrayOf( + "仪器设备", "标准装置", "证书报告", "委托需求", "访客", "标准规范", "能力列表", "计量培训", + "合同发票", "业务统计", "客户列表", "外场检测" + ) /** * ============================================================================================= diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt new file mode 100644 index 0000000..1f08118 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt @@ -0,0 +1,45 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R + +/** + * 主页功能,九宫格Adapter + * */ +class HomeGridAdapter(context: Context, private val dataRows: Array) : + RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_home_rv_g, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + holder.homeFunctionView.text = dataRows[position] + holder.itemView.setOnClickListener { + clickListener?.onItemClick(position) + } + } + + override fun getItemCount(): Int = dataRows.size + + private var clickListener: OnGridItemClickListener? = null + + interface OnGridItemClickListener { + fun onItemClick(position: Int) + } + + fun setOnGridItemClickListener(clickListener: OnGridItemClickListener?) { + this.clickListener = clickListener + } + + class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + val homeFunctionView: TextView = itemView.findViewById(R.id.homeFunctionView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index aee50a8..f78b3a2 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -1,24 +1,36 @@ package com.casic.xz.meterage.fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.HomeGridAdapter +import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_home.* -class HomePageFragment : KotlinBaseFragment(){ +class HomePageFragment : KotlinBaseFragment() { + override fun initData() { - + val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE) + homeFuncRecyclerView.adapter = homeAdapter + homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener { + override fun onItemClick(position: Int) { + when (position) { + + } + } + }) } override fun initEvent() { - + } override fun initLayoutView(): Int = R.layout.fragment_home override fun observeRequestState() { - + } override fun setupTopBarLayout() { - + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 7bc5704..6ddc53e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -14,6 +14,10 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE ) + val HOME_FUNC_OPERATE = arrayOf( + "仪器设备", "标准装置", "证书报告", "委托需求", "访客", "标准规范", "能力列表", "计量培训", + "合同发票", "业务统计", "客户列表", "外场检测" + ) /** * ============================================================================================= diff --git a/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml b/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml new file mode 100644 index 0000000..09f53b4 --- /dev/null +++ b/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt new file mode 100644 index 0000000..1f08118 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt @@ -0,0 +1,45 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R + +/** + * 主页功能,九宫格Adapter + * */ +class HomeGridAdapter(context: Context, private val dataRows: Array) : + RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_home_rv_g, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + holder.homeFunctionView.text = dataRows[position] + holder.itemView.setOnClickListener { + clickListener?.onItemClick(position) + } + } + + override fun getItemCount(): Int = dataRows.size + + private var clickListener: OnGridItemClickListener? = null + + interface OnGridItemClickListener { + fun onItemClick(position: Int) + } + + fun setOnGridItemClickListener(clickListener: OnGridItemClickListener?) { + this.clickListener = clickListener + } + + class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + val homeFunctionView: TextView = itemView.findViewById(R.id.homeFunctionView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index aee50a8..f78b3a2 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -1,24 +1,36 @@ package com.casic.xz.meterage.fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.HomeGridAdapter +import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_home.* -class HomePageFragment : KotlinBaseFragment(){ +class HomePageFragment : KotlinBaseFragment() { + override fun initData() { - + val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE) + homeFuncRecyclerView.adapter = homeAdapter + homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener { + override fun onItemClick(position: Int) { + when (position) { + + } + } + }) } override fun initEvent() { - + } override fun initLayoutView(): Int = R.layout.fragment_home override fun observeRequestState() { - + } override fun setupTopBarLayout() { - + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 7bc5704..6ddc53e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -14,6 +14,10 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE ) + val HOME_FUNC_OPERATE = arrayOf( + "仪器设备", "标准装置", "证书报告", "委托需求", "访客", "标准规范", "能力列表", "计量培训", + "合同发票", "业务统计", "客户列表", "外场检测" + ) /** * ============================================================================================= diff --git a/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml b/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml new file mode 100644 index 0000000..09f53b4 --- /dev/null +++ b/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml b/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml new file mode 100644 index 0000000..dbc008c --- /dev/null +++ b/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt new file mode 100644 index 0000000..1f08118 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt @@ -0,0 +1,45 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R + +/** + * 主页功能,九宫格Adapter + * */ +class HomeGridAdapter(context: Context, private val dataRows: Array) : + RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_home_rv_g, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + holder.homeFunctionView.text = dataRows[position] + holder.itemView.setOnClickListener { + clickListener?.onItemClick(position) + } + } + + override fun getItemCount(): Int = dataRows.size + + private var clickListener: OnGridItemClickListener? = null + + interface OnGridItemClickListener { + fun onItemClick(position: Int) + } + + fun setOnGridItemClickListener(clickListener: OnGridItemClickListener?) { + this.clickListener = clickListener + } + + class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + val homeFunctionView: TextView = itemView.findViewById(R.id.homeFunctionView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index aee50a8..f78b3a2 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -1,24 +1,36 @@ package com.casic.xz.meterage.fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.HomeGridAdapter +import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_home.* -class HomePageFragment : KotlinBaseFragment(){ +class HomePageFragment : KotlinBaseFragment() { + override fun initData() { - + val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE) + homeFuncRecyclerView.adapter = homeAdapter + homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener { + override fun onItemClick(position: Int) { + when (position) { + + } + } + }) } override fun initEvent() { - + } override fun initLayoutView(): Int = R.layout.fragment_home override fun observeRequestState() { - + } override fun setupTopBarLayout() { - + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 7bc5704..6ddc53e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -14,6 +14,10 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE ) + val HOME_FUNC_OPERATE = arrayOf( + "仪器设备", "标准装置", "证书报告", "委托需求", "访客", "标准规范", "能力列表", "计量培训", + "合同发票", "业务统计", "客户列表", "外场检测" + ) /** * ============================================================================================= diff --git a/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml b/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml new file mode 100644 index 0000000..09f53b4 --- /dev/null +++ b/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml b/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml new file mode 100644 index 0000000..dbc008c --- /dev/null +++ b/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_message.xml b/app/src/main/res/drawable/ic_message.xml index 9585787..4995056 100644 --- a/app/src/main/res/drawable/ic_message.xml +++ b/app/src/main/res/drawable/ic_message.xml @@ -4,15 +4,9 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + android:fillColor="#F4CA1C" + android:pathData="M820.89,807.99H487.46a39.65,39.65 0,0 0,-22.59 7.07l-135.75,94.14a39.71,39.71 0,0 1,-61.39 -24.2l-10.1,-45.74a39.78,39.78 0,0 0,-38.8 -31.27l0.2,-148.99a146.53,146.53 0,0 1,146.24 -146.63h535.12a39.83,39.83 0,0 1,39.75 39.91v136.01a119.48,119.48 0,0 1,-119.24 119.71z" /> - - + android:fillColor="#595BB3" + android:pathData="M815.39,112.64L198.37,112.64A157.84,157.84 0,0 0,40.96 270.55v379.78a157.84,157.84 0,0 0,157.41 157.91h14.79a1.63,1.63 0,0 1,1.58 1.27l10.11,45.72a77.78,77.78 0,0 0,120.32 47.39l135.79,-94.09a1.63,1.63 0,0 1,0.92 -0.29h333.52A157.84,157.84 0,0 0,972.8 650.33L972.8,270.55A157.84,157.84 0,0 0,815.39 112.64zM896.51,650.33a81.35,81.35 0,0 1,-81.13 81.41L481.88,731.74a77.42,77.42 0,0 0,-44.27 13.82L301.82,839.68a1.62,1.62 0,0 1,-2.5 -0.99l-10.11,-45.72a77.48,77.48 0,0 0,-76.05 -61.23h-14.79a81.36,81.36 0,0 1,-81.14 -81.41L117.24,270.55a81.36,81.36 0,0 1,81.14 -81.41h617.02a81.35,81.35 0,0 1,81.13 81.41v379.78zM337.99,424.68a49.24,49.24 0,1 0,49.09 49.24,49.15 49.15,0 0,0 -49.09,-49.24zM522.08,424.68a49.24,49.24 0,1 0,49.09 49.24,49.15 49.15,0 0,0 -49.09,-49.24zM699.15,424.68a49.24,49.24 0,1 0,49.09 49.24,49.15 49.15,0 0,0 -49.09,-49.24z" /> diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt new file mode 100644 index 0000000..1f08118 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt @@ -0,0 +1,45 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R + +/** + * 主页功能,九宫格Adapter + * */ +class HomeGridAdapter(context: Context, private val dataRows: Array) : + RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_home_rv_g, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + holder.homeFunctionView.text = dataRows[position] + holder.itemView.setOnClickListener { + clickListener?.onItemClick(position) + } + } + + override fun getItemCount(): Int = dataRows.size + + private var clickListener: OnGridItemClickListener? = null + + interface OnGridItemClickListener { + fun onItemClick(position: Int) + } + + fun setOnGridItemClickListener(clickListener: OnGridItemClickListener?) { + this.clickListener = clickListener + } + + class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + val homeFunctionView: TextView = itemView.findViewById(R.id.homeFunctionView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index aee50a8..f78b3a2 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -1,24 +1,36 @@ package com.casic.xz.meterage.fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.HomeGridAdapter +import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_home.* -class HomePageFragment : KotlinBaseFragment(){ +class HomePageFragment : KotlinBaseFragment() { + override fun initData() { - + val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE) + homeFuncRecyclerView.adapter = homeAdapter + homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener { + override fun onItemClick(position: Int) { + when (position) { + + } + } + }) } override fun initEvent() { - + } override fun initLayoutView(): Int = R.layout.fragment_home override fun observeRequestState() { - + } override fun setupTopBarLayout() { - + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 7bc5704..6ddc53e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -14,6 +14,10 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE ) + val HOME_FUNC_OPERATE = arrayOf( + "仪器设备", "标准装置", "证书报告", "委托需求", "访客", "标准规范", "能力列表", "计量培训", + "合同发票", "业务统计", "客户列表", "外场检测" + ) /** * ============================================================================================= diff --git a/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml b/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml new file mode 100644 index 0000000..09f53b4 --- /dev/null +++ b/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml b/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml new file mode 100644 index 0000000..dbc008c --- /dev/null +++ b/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_message.xml b/app/src/main/res/drawable/ic_message.xml index 9585787..4995056 100644 --- a/app/src/main/res/drawable/ic_message.xml +++ b/app/src/main/res/drawable/ic_message.xml @@ -4,15 +4,9 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + android:fillColor="#F4CA1C" + android:pathData="M820.89,807.99H487.46a39.65,39.65 0,0 0,-22.59 7.07l-135.75,94.14a39.71,39.71 0,0 1,-61.39 -24.2l-10.1,-45.74a39.78,39.78 0,0 0,-38.8 -31.27l0.2,-148.99a146.53,146.53 0,0 1,146.24 -146.63h535.12a39.83,39.83 0,0 1,39.75 39.91v136.01a119.48,119.48 0,0 1,-119.24 119.71z" /> - - + android:fillColor="#595BB3" + android:pathData="M815.39,112.64L198.37,112.64A157.84,157.84 0,0 0,40.96 270.55v379.78a157.84,157.84 0,0 0,157.41 157.91h14.79a1.63,1.63 0,0 1,1.58 1.27l10.11,45.72a77.78,77.78 0,0 0,120.32 47.39l135.79,-94.09a1.63,1.63 0,0 1,0.92 -0.29h333.52A157.84,157.84 0,0 0,972.8 650.33L972.8,270.55A157.84,157.84 0,0 0,815.39 112.64zM896.51,650.33a81.35,81.35 0,0 1,-81.13 81.41L481.88,731.74a77.42,77.42 0,0 0,-44.27 13.82L301.82,839.68a1.62,1.62 0,0 1,-2.5 -0.99l-10.11,-45.72a77.48,77.48 0,0 0,-76.05 -61.23h-14.79a81.36,81.36 0,0 1,-81.14 -81.41L117.24,270.55a81.36,81.36 0,0 1,81.14 -81.41h617.02a81.35,81.35 0,0 1,81.13 81.41v379.78zM337.99,424.68a49.24,49.24 0,1 0,49.09 49.24,49.15 49.15,0 0,0 -49.09,-49.24zM522.08,424.68a49.24,49.24 0,1 0,49.09 49.24,49.15 49.15,0 0,0 -49.09,-49.24zM699.15,424.68a49.24,49.24 0,1 0,49.09 49.24,49.15 49.15,0 0,0 -49.09,-49.24z" /> diff --git a/app/src/main/res/drawable/ic_qr_code.xml b/app/src/main/res/drawable/ic_qr_code.xml new file mode 100644 index 0000000..43c8c42 --- /dev/null +++ b/app/src/main/res/drawable/ic_qr_code.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt new file mode 100644 index 0000000..1f08118 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt @@ -0,0 +1,45 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R + +/** + * 主页功能,九宫格Adapter + * */ +class HomeGridAdapter(context: Context, private val dataRows: Array) : + RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_home_rv_g, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + holder.homeFunctionView.text = dataRows[position] + holder.itemView.setOnClickListener { + clickListener?.onItemClick(position) + } + } + + override fun getItemCount(): Int = dataRows.size + + private var clickListener: OnGridItemClickListener? = null + + interface OnGridItemClickListener { + fun onItemClick(position: Int) + } + + fun setOnGridItemClickListener(clickListener: OnGridItemClickListener?) { + this.clickListener = clickListener + } + + class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + val homeFunctionView: TextView = itemView.findViewById(R.id.homeFunctionView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index aee50a8..f78b3a2 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -1,24 +1,36 @@ package com.casic.xz.meterage.fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.HomeGridAdapter +import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_home.* -class HomePageFragment : KotlinBaseFragment(){ +class HomePageFragment : KotlinBaseFragment() { + override fun initData() { - + val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE) + homeFuncRecyclerView.adapter = homeAdapter + homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener { + override fun onItemClick(position: Int) { + when (position) { + + } + } + }) } override fun initEvent() { - + } override fun initLayoutView(): Int = R.layout.fragment_home override fun observeRequestState() { - + } override fun setupTopBarLayout() { - + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 7bc5704..6ddc53e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -14,6 +14,10 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE ) + val HOME_FUNC_OPERATE = arrayOf( + "仪器设备", "标准装置", "证书报告", "委托需求", "访客", "标准规范", "能力列表", "计量培训", + "合同发票", "业务统计", "客户列表", "外场检测" + ) /** * ============================================================================================= diff --git a/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml b/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml new file mode 100644 index 0000000..09f53b4 --- /dev/null +++ b/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml b/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml new file mode 100644 index 0000000..dbc008c --- /dev/null +++ b/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_message.xml b/app/src/main/res/drawable/ic_message.xml index 9585787..4995056 100644 --- a/app/src/main/res/drawable/ic_message.xml +++ b/app/src/main/res/drawable/ic_message.xml @@ -4,15 +4,9 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + android:fillColor="#F4CA1C" + android:pathData="M820.89,807.99H487.46a39.65,39.65 0,0 0,-22.59 7.07l-135.75,94.14a39.71,39.71 0,0 1,-61.39 -24.2l-10.1,-45.74a39.78,39.78 0,0 0,-38.8 -31.27l0.2,-148.99a146.53,146.53 0,0 1,146.24 -146.63h535.12a39.83,39.83 0,0 1,39.75 39.91v136.01a119.48,119.48 0,0 1,-119.24 119.71z" /> - - + android:fillColor="#595BB3" + android:pathData="M815.39,112.64L198.37,112.64A157.84,157.84 0,0 0,40.96 270.55v379.78a157.84,157.84 0,0 0,157.41 157.91h14.79a1.63,1.63 0,0 1,1.58 1.27l10.11,45.72a77.78,77.78 0,0 0,120.32 47.39l135.79,-94.09a1.63,1.63 0,0 1,0.92 -0.29h333.52A157.84,157.84 0,0 0,972.8 650.33L972.8,270.55A157.84,157.84 0,0 0,815.39 112.64zM896.51,650.33a81.35,81.35 0,0 1,-81.13 81.41L481.88,731.74a77.42,77.42 0,0 0,-44.27 13.82L301.82,839.68a1.62,1.62 0,0 1,-2.5 -0.99l-10.11,-45.72a77.48,77.48 0,0 0,-76.05 -61.23h-14.79a81.36,81.36 0,0 1,-81.14 -81.41L117.24,270.55a81.36,81.36 0,0 1,81.14 -81.41h617.02a81.35,81.35 0,0 1,81.13 81.41v379.78zM337.99,424.68a49.24,49.24 0,1 0,49.09 49.24,49.15 49.15,0 0,0 -49.09,-49.24zM522.08,424.68a49.24,49.24 0,1 0,49.09 49.24,49.15 49.15,0 0,0 -49.09,-49.24zM699.15,424.68a49.24,49.24 0,1 0,49.09 49.24,49.15 49.15,0 0,0 -49.09,-49.24z" /> diff --git a/app/src/main/res/drawable/ic_qr_code.xml b/app/src/main/res/drawable/ic_qr_code.xml new file mode 100644 index 0000000..43c8c42 --- /dev/null +++ b/app/src/main/res/drawable/ic_qr_code.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/ic_right.xml b/app/src/main/res/drawable/ic_right.xml index 2e9758d..ba9c309 100644 --- a/app/src/main/res/drawable/ic_right.xml +++ b/app/src/main/res/drawable/ic_right.xml @@ -1,6 +1,6 @@ ) : + RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_home_rv_g, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + holder.homeFunctionView.text = dataRows[position] + holder.itemView.setOnClickListener { + clickListener?.onItemClick(position) + } + } + + override fun getItemCount(): Int = dataRows.size + + private var clickListener: OnGridItemClickListener? = null + + interface OnGridItemClickListener { + fun onItemClick(position: Int) + } + + fun setOnGridItemClickListener(clickListener: OnGridItemClickListener?) { + this.clickListener = clickListener + } + + class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + val homeFunctionView: TextView = itemView.findViewById(R.id.homeFunctionView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index aee50a8..f78b3a2 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -1,24 +1,36 @@ package com.casic.xz.meterage.fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.HomeGridAdapter +import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_home.* -class HomePageFragment : KotlinBaseFragment(){ +class HomePageFragment : KotlinBaseFragment() { + override fun initData() { - + val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE) + homeFuncRecyclerView.adapter = homeAdapter + homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener { + override fun onItemClick(position: Int) { + when (position) { + + } + } + }) } override fun initEvent() { - + } override fun initLayoutView(): Int = R.layout.fragment_home override fun observeRequestState() { - + } override fun setupTopBarLayout() { - + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 7bc5704..6ddc53e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -14,6 +14,10 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE ) + val HOME_FUNC_OPERATE = arrayOf( + "仪器设备", "标准装置", "证书报告", "委托需求", "访客", "标准规范", "能力列表", "计量培训", + "合同发票", "业务统计", "客户列表", "外场检测" + ) /** * ============================================================================================= diff --git a/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml b/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml new file mode 100644 index 0000000..09f53b4 --- /dev/null +++ b/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml b/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml new file mode 100644 index 0000000..dbc008c --- /dev/null +++ b/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_message.xml b/app/src/main/res/drawable/ic_message.xml index 9585787..4995056 100644 --- a/app/src/main/res/drawable/ic_message.xml +++ b/app/src/main/res/drawable/ic_message.xml @@ -4,15 +4,9 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + android:fillColor="#F4CA1C" + android:pathData="M820.89,807.99H487.46a39.65,39.65 0,0 0,-22.59 7.07l-135.75,94.14a39.71,39.71 0,0 1,-61.39 -24.2l-10.1,-45.74a39.78,39.78 0,0 0,-38.8 -31.27l0.2,-148.99a146.53,146.53 0,0 1,146.24 -146.63h535.12a39.83,39.83 0,0 1,39.75 39.91v136.01a119.48,119.48 0,0 1,-119.24 119.71z" /> - - + android:fillColor="#595BB3" + android:pathData="M815.39,112.64L198.37,112.64A157.84,157.84 0,0 0,40.96 270.55v379.78a157.84,157.84 0,0 0,157.41 157.91h14.79a1.63,1.63 0,0 1,1.58 1.27l10.11,45.72a77.78,77.78 0,0 0,120.32 47.39l135.79,-94.09a1.63,1.63 0,0 1,0.92 -0.29h333.52A157.84,157.84 0,0 0,972.8 650.33L972.8,270.55A157.84,157.84 0,0 0,815.39 112.64zM896.51,650.33a81.35,81.35 0,0 1,-81.13 81.41L481.88,731.74a77.42,77.42 0,0 0,-44.27 13.82L301.82,839.68a1.62,1.62 0,0 1,-2.5 -0.99l-10.11,-45.72a77.48,77.48 0,0 0,-76.05 -61.23h-14.79a81.36,81.36 0,0 1,-81.14 -81.41L117.24,270.55a81.36,81.36 0,0 1,81.14 -81.41h617.02a81.35,81.35 0,0 1,81.13 81.41v379.78zM337.99,424.68a49.24,49.24 0,1 0,49.09 49.24,49.15 49.15,0 0,0 -49.09,-49.24zM522.08,424.68a49.24,49.24 0,1 0,49.09 49.24,49.15 49.15,0 0,0 -49.09,-49.24zM699.15,424.68a49.24,49.24 0,1 0,49.09 49.24,49.15 49.15,0 0,0 -49.09,-49.24z" /> diff --git a/app/src/main/res/drawable/ic_qr_code.xml b/app/src/main/res/drawable/ic_qr_code.xml new file mode 100644 index 0000000..43c8c42 --- /dev/null +++ b/app/src/main/res/drawable/ic_qr_code.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/ic_right.xml b/app/src/main/res/drawable/ic_right.xml index 2e9758d..ba9c309 100644 --- a/app/src/main/res/drawable/ic_right.xml +++ b/app/src/main/res/drawable/ic_right.xml @@ -1,6 +1,6 @@ + + + diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt new file mode 100644 index 0000000..1f08118 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt @@ -0,0 +1,45 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R + +/** + * 主页功能,九宫格Adapter + * */ +class HomeGridAdapter(context: Context, private val dataRows: Array) : + RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_home_rv_g, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + holder.homeFunctionView.text = dataRows[position] + holder.itemView.setOnClickListener { + clickListener?.onItemClick(position) + } + } + + override fun getItemCount(): Int = dataRows.size + + private var clickListener: OnGridItemClickListener? = null + + interface OnGridItemClickListener { + fun onItemClick(position: Int) + } + + fun setOnGridItemClickListener(clickListener: OnGridItemClickListener?) { + this.clickListener = clickListener + } + + class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + val homeFunctionView: TextView = itemView.findViewById(R.id.homeFunctionView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index aee50a8..f78b3a2 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -1,24 +1,36 @@ package com.casic.xz.meterage.fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.HomeGridAdapter +import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_home.* -class HomePageFragment : KotlinBaseFragment(){ +class HomePageFragment : KotlinBaseFragment() { + override fun initData() { - + val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE) + homeFuncRecyclerView.adapter = homeAdapter + homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener { + override fun onItemClick(position: Int) { + when (position) { + + } + } + }) } override fun initEvent() { - + } override fun initLayoutView(): Int = R.layout.fragment_home override fun observeRequestState() { - + } override fun setupTopBarLayout() { - + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 7bc5704..6ddc53e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -14,6 +14,10 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE ) + val HOME_FUNC_OPERATE = arrayOf( + "仪器设备", "标准装置", "证书报告", "委托需求", "访客", "标准规范", "能力列表", "计量培训", + "合同发票", "业务统计", "客户列表", "外场检测" + ) /** * ============================================================================================= diff --git a/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml b/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml new file mode 100644 index 0000000..09f53b4 --- /dev/null +++ b/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml b/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml new file mode 100644 index 0000000..dbc008c --- /dev/null +++ b/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_message.xml b/app/src/main/res/drawable/ic_message.xml index 9585787..4995056 100644 --- a/app/src/main/res/drawable/ic_message.xml +++ b/app/src/main/res/drawable/ic_message.xml @@ -4,15 +4,9 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + android:fillColor="#F4CA1C" + android:pathData="M820.89,807.99H487.46a39.65,39.65 0,0 0,-22.59 7.07l-135.75,94.14a39.71,39.71 0,0 1,-61.39 -24.2l-10.1,-45.74a39.78,39.78 0,0 0,-38.8 -31.27l0.2,-148.99a146.53,146.53 0,0 1,146.24 -146.63h535.12a39.83,39.83 0,0 1,39.75 39.91v136.01a119.48,119.48 0,0 1,-119.24 119.71z" /> - - + android:fillColor="#595BB3" + android:pathData="M815.39,112.64L198.37,112.64A157.84,157.84 0,0 0,40.96 270.55v379.78a157.84,157.84 0,0 0,157.41 157.91h14.79a1.63,1.63 0,0 1,1.58 1.27l10.11,45.72a77.78,77.78 0,0 0,120.32 47.39l135.79,-94.09a1.63,1.63 0,0 1,0.92 -0.29h333.52A157.84,157.84 0,0 0,972.8 650.33L972.8,270.55A157.84,157.84 0,0 0,815.39 112.64zM896.51,650.33a81.35,81.35 0,0 1,-81.13 81.41L481.88,731.74a77.42,77.42 0,0 0,-44.27 13.82L301.82,839.68a1.62,1.62 0,0 1,-2.5 -0.99l-10.11,-45.72a77.48,77.48 0,0 0,-76.05 -61.23h-14.79a81.36,81.36 0,0 1,-81.14 -81.41L117.24,270.55a81.36,81.36 0,0 1,81.14 -81.41h617.02a81.35,81.35 0,0 1,81.13 81.41v379.78zM337.99,424.68a49.24,49.24 0,1 0,49.09 49.24,49.15 49.15,0 0,0 -49.09,-49.24zM522.08,424.68a49.24,49.24 0,1 0,49.09 49.24,49.15 49.15,0 0,0 -49.09,-49.24zM699.15,424.68a49.24,49.24 0,1 0,49.09 49.24,49.15 49.15,0 0,0 -49.09,-49.24z" /> diff --git a/app/src/main/res/drawable/ic_qr_code.xml b/app/src/main/res/drawable/ic_qr_code.xml new file mode 100644 index 0000000..43c8c42 --- /dev/null +++ b/app/src/main/res/drawable/ic_qr_code.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/ic_right.xml b/app/src/main/res/drawable/ic_right.xml index 2e9758d..ba9c309 100644 --- a/app/src/main/res/drawable/ic_right.xml +++ b/app/src/main/res/drawable/ic_right.xml @@ -1,6 +1,6 @@ + + + diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 77d9ef6..e478dd3 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -1,6 +1,126 @@ - + android:layout_height="match_parent" + android:background="@color/mainBackground" + android:orientation="vertical"> - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt new file mode 100644 index 0000000..1f08118 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt @@ -0,0 +1,45 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R + +/** + * 主页功能,九宫格Adapter + * */ +class HomeGridAdapter(context: Context, private val dataRows: Array) : + RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_home_rv_g, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + holder.homeFunctionView.text = dataRows[position] + holder.itemView.setOnClickListener { + clickListener?.onItemClick(position) + } + } + + override fun getItemCount(): Int = dataRows.size + + private var clickListener: OnGridItemClickListener? = null + + interface OnGridItemClickListener { + fun onItemClick(position: Int) + } + + fun setOnGridItemClickListener(clickListener: OnGridItemClickListener?) { + this.clickListener = clickListener + } + + class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + val homeFunctionView: TextView = itemView.findViewById(R.id.homeFunctionView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index aee50a8..f78b3a2 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -1,24 +1,36 @@ package com.casic.xz.meterage.fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.HomeGridAdapter +import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_home.* -class HomePageFragment : KotlinBaseFragment(){ +class HomePageFragment : KotlinBaseFragment() { + override fun initData() { - + val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE) + homeFuncRecyclerView.adapter = homeAdapter + homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener { + override fun onItemClick(position: Int) { + when (position) { + + } + } + }) } override fun initEvent() { - + } override fun initLayoutView(): Int = R.layout.fragment_home override fun observeRequestState() { - + } override fun setupTopBarLayout() { - + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 7bc5704..6ddc53e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -14,6 +14,10 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE ) + val HOME_FUNC_OPERATE = arrayOf( + "仪器设备", "标准装置", "证书报告", "委托需求", "访客", "标准规范", "能力列表", "计量培训", + "合同发票", "业务统计", "客户列表", "外场检测" + ) /** * ============================================================================================= diff --git a/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml b/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml new file mode 100644 index 0000000..09f53b4 --- /dev/null +++ b/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml b/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml new file mode 100644 index 0000000..dbc008c --- /dev/null +++ b/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_message.xml b/app/src/main/res/drawable/ic_message.xml index 9585787..4995056 100644 --- a/app/src/main/res/drawable/ic_message.xml +++ b/app/src/main/res/drawable/ic_message.xml @@ -4,15 +4,9 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + android:fillColor="#F4CA1C" + android:pathData="M820.89,807.99H487.46a39.65,39.65 0,0 0,-22.59 7.07l-135.75,94.14a39.71,39.71 0,0 1,-61.39 -24.2l-10.1,-45.74a39.78,39.78 0,0 0,-38.8 -31.27l0.2,-148.99a146.53,146.53 0,0 1,146.24 -146.63h535.12a39.83,39.83 0,0 1,39.75 39.91v136.01a119.48,119.48 0,0 1,-119.24 119.71z" /> - - + android:fillColor="#595BB3" + android:pathData="M815.39,112.64L198.37,112.64A157.84,157.84 0,0 0,40.96 270.55v379.78a157.84,157.84 0,0 0,157.41 157.91h14.79a1.63,1.63 0,0 1,1.58 1.27l10.11,45.72a77.78,77.78 0,0 0,120.32 47.39l135.79,-94.09a1.63,1.63 0,0 1,0.92 -0.29h333.52A157.84,157.84 0,0 0,972.8 650.33L972.8,270.55A157.84,157.84 0,0 0,815.39 112.64zM896.51,650.33a81.35,81.35 0,0 1,-81.13 81.41L481.88,731.74a77.42,77.42 0,0 0,-44.27 13.82L301.82,839.68a1.62,1.62 0,0 1,-2.5 -0.99l-10.11,-45.72a77.48,77.48 0,0 0,-76.05 -61.23h-14.79a81.36,81.36 0,0 1,-81.14 -81.41L117.24,270.55a81.36,81.36 0,0 1,81.14 -81.41h617.02a81.35,81.35 0,0 1,81.13 81.41v379.78zM337.99,424.68a49.24,49.24 0,1 0,49.09 49.24,49.15 49.15,0 0,0 -49.09,-49.24zM522.08,424.68a49.24,49.24 0,1 0,49.09 49.24,49.15 49.15,0 0,0 -49.09,-49.24zM699.15,424.68a49.24,49.24 0,1 0,49.09 49.24,49.15 49.15,0 0,0 -49.09,-49.24z" /> diff --git a/app/src/main/res/drawable/ic_qr_code.xml b/app/src/main/res/drawable/ic_qr_code.xml new file mode 100644 index 0000000..43c8c42 --- /dev/null +++ b/app/src/main/res/drawable/ic_qr_code.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/ic_right.xml b/app/src/main/res/drawable/ic_right.xml index 2e9758d..ba9c309 100644 --- a/app/src/main/res/drawable/ic_right.xml +++ b/app/src/main/res/drawable/ic_right.xml @@ -1,6 +1,6 @@ + + + diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 77d9ef6..e478dd3 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -1,6 +1,126 @@ - + android:layout_height="match_parent" + android:background="@color/mainBackground" + android:orientation="vertical"> - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_home_rv_g.xml b/app/src/main/res/layout/item_home_rv_g.xml new file mode 100644 index 0000000..e7a3580 --- /dev/null +++ b/app/src/main/res/layout/item_home_rv_g.xml @@ -0,0 +1,21 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt b/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt new file mode 100644 index 0000000..1f08118 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/adapter/HomeGridAdapter.kt @@ -0,0 +1,45 @@ +package com.casic.xz.meterage.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.casic.xz.meterage.R + +/** + * 主页功能,九宫格Adapter + * */ +class HomeGridAdapter(context: Context, private val dataRows: Array) : + RecyclerView.Adapter() { + + private var layoutInflater: LayoutInflater = LayoutInflater.from(context) + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder( + layoutInflater.inflate(R.layout.item_home_rv_g, parent, false) + ) + + override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { + holder.homeFunctionView.text = dataRows[position] + holder.itemView.setOnClickListener { + clickListener?.onItemClick(position) + } + } + + override fun getItemCount(): Int = dataRows.size + + private var clickListener: OnGridItemClickListener? = null + + interface OnGridItemClickListener { + fun onItemClick(position: Int) + } + + fun setOnGridItemClickListener(clickListener: OnGridItemClickListener?) { + this.clickListener = clickListener + } + + class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + val homeFunctionView: TextView = itemView.findViewById(R.id.homeFunctionView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index aee50a8..f78b3a2 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -1,24 +1,36 @@ package com.casic.xz.meterage.fragment import com.casic.xz.meterage.R +import com.casic.xz.meterage.adapter.HomeGridAdapter +import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.base.KotlinBaseFragment +import kotlinx.android.synthetic.main.fragment_home.* -class HomePageFragment : KotlinBaseFragment(){ +class HomePageFragment : KotlinBaseFragment() { + override fun initData() { - + val homeAdapter = HomeGridAdapter(requireContext(), LocaleConstant.HOME_FUNC_OPERATE) + homeFuncRecyclerView.adapter = homeAdapter + homeAdapter.setOnGridItemClickListener(object : HomeGridAdapter.OnGridItemClickListener { + override fun onItemClick(position: Int) { + when (position) { + + } + } + }) } override fun initEvent() { - + } override fun initLayoutView(): Int = R.layout.fragment_home override fun observeRequestState() { - + } override fun setupTopBarLayout() { - + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt index 7bc5704..6ddc53e 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/LocaleConstant.kt @@ -14,6 +14,10 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE ) + val HOME_FUNC_OPERATE = arrayOf( + "仪器设备", "标准装置", "证书报告", "委托需求", "访客", "标准规范", "能力列表", "计量培训", + "合同发票", "业务统计", "客户列表", "外场检测" + ) /** * ============================================================================================= diff --git a/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml b/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml new file mode 100644 index 0000000..09f53b4 --- /dev/null +++ b/app/src/main/res/drawable/bg_edit_text_theme_radius_10.xml @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml b/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml new file mode 100644 index 0000000..dbc008c --- /dev/null +++ b/app/src/main/res/drawable/bg_solid_layout_white_radius_5.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_message.xml b/app/src/main/res/drawable/ic_message.xml index 9585787..4995056 100644 --- a/app/src/main/res/drawable/ic_message.xml +++ b/app/src/main/res/drawable/ic_message.xml @@ -4,15 +4,9 @@ android:viewportWidth="1024" android:viewportHeight="1024"> + android:fillColor="#F4CA1C" + android:pathData="M820.89,807.99H487.46a39.65,39.65 0,0 0,-22.59 7.07l-135.75,94.14a39.71,39.71 0,0 1,-61.39 -24.2l-10.1,-45.74a39.78,39.78 0,0 0,-38.8 -31.27l0.2,-148.99a146.53,146.53 0,0 1,146.24 -146.63h535.12a39.83,39.83 0,0 1,39.75 39.91v136.01a119.48,119.48 0,0 1,-119.24 119.71z" /> - - + android:fillColor="#595BB3" + android:pathData="M815.39,112.64L198.37,112.64A157.84,157.84 0,0 0,40.96 270.55v379.78a157.84,157.84 0,0 0,157.41 157.91h14.79a1.63,1.63 0,0 1,1.58 1.27l10.11,45.72a77.78,77.78 0,0 0,120.32 47.39l135.79,-94.09a1.63,1.63 0,0 1,0.92 -0.29h333.52A157.84,157.84 0,0 0,972.8 650.33L972.8,270.55A157.84,157.84 0,0 0,815.39 112.64zM896.51,650.33a81.35,81.35 0,0 1,-81.13 81.41L481.88,731.74a77.42,77.42 0,0 0,-44.27 13.82L301.82,839.68a1.62,1.62 0,0 1,-2.5 -0.99l-10.11,-45.72a77.48,77.48 0,0 0,-76.05 -61.23h-14.79a81.36,81.36 0,0 1,-81.14 -81.41L117.24,270.55a81.36,81.36 0,0 1,81.14 -81.41h617.02a81.35,81.35 0,0 1,81.13 81.41v379.78zM337.99,424.68a49.24,49.24 0,1 0,49.09 49.24,49.15 49.15,0 0,0 -49.09,-49.24zM522.08,424.68a49.24,49.24 0,1 0,49.09 49.24,49.15 49.15,0 0,0 -49.09,-49.24zM699.15,424.68a49.24,49.24 0,1 0,49.09 49.24,49.15 49.15,0 0,0 -49.09,-49.24z" /> diff --git a/app/src/main/res/drawable/ic_qr_code.xml b/app/src/main/res/drawable/ic_qr_code.xml new file mode 100644 index 0000000..43c8c42 --- /dev/null +++ b/app/src/main/res/drawable/ic_qr_code.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/ic_right.xml b/app/src/main/res/drawable/ic_right.xml index 2e9758d..ba9c309 100644 --- a/app/src/main/res/drawable/ic_right.xml +++ b/app/src/main/res/drawable/ic_right.xml @@ -1,6 +1,6 @@ + + + diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 77d9ef6..e478dd3 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -1,6 +1,126 @@ - + android:layout_height="match_parent" + android:background="@color/mainBackground" + android:orientation="vertical"> - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_home_rv_g.xml b/app/src/main/res/layout/item_home_rv_g.xml new file mode 100644 index 0000000..e7a3580 --- /dev/null +++ b/app/src/main/res/layout/item_home_rv_g.xml @@ -0,0 +1,21 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index a5a662b..cfeab85 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -26,8 +26,8 @@