diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt index 0c5dea786f..4841b81167 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt @@ -1,17 +1,10 @@ package com.mogo.module.v2x.fragment -import android.content.res.ColorStateList -import android.graphics.Typeface -import android.view.Gravity import android.view.View -import android.widget.LinearLayout -import android.widget.TextView -import androidx.core.content.ContextCompat +import android.widget.RadioGroup import androidx.fragment.app.Fragment import androidx.viewpager2.widget.ViewPager2 -import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback import com.google.android.material.tabs.TabLayoutMediator -import com.google.android.material.tabs.TabLayoutMediator.TabConfigurationStrategy import com.mogo.commons.mvp.MvpFragment import com.mogo.module.v2x.R import com.mogo.module.v2x.V2XConst.MODULE_NAME @@ -36,12 +29,6 @@ class V2XEventPanelFragment : MvpFragment(R.id.rgTabSelect) as RadioGroup? + radioGroup!!.setOnCheckedChangeListener { group, checkedId -> + when (checkedId) { + R.id.rbScenarioHistory -> { + vpEventPanel.setCurrentItem(0, false) + } + R.id.rbSurroundingEvent -> { + vpEventPanel.setCurrentItem(1, false) + } + R.id.rbShareEvents -> { + vpEventPanel.setCurrentItem(2, false) + } + } + } - //这里可以自定义TabView - mediator = TabLayoutMediator(tabLayout, vpEventPanel, TabConfigurationStrategy { tab, position -> - val tabView = TextView(context) - tabView.gravity = Gravity.CENTER - val states = arrayOfNulls(2) - states[0] = intArrayOf(android.R.attr.state_selected) - states[1] = intArrayOf() - val colors = intArrayOf(activeColor, normalColor) - val colorStateList = ColorStateList(states, colors) - tabView.text = tabsTitle[position] - tabView.textSize = normalSize.toFloat() - tabView.typeface = Typeface.DEFAULT_BOLD - tabView.setTextColor(colorStateList) - tab.customView = tabView - }) - //要执行这一句才是真正将两者绑定起来 - mediator!!.attach() + btnHidePanels.setOnClickListener { + hidePanel() + } btnShowOrHidePanels.setOnClickListener { if (clPanelContainer.visibility == View.GONE) { showPanel() - // 选中指定的Tab - tabLayout.getTabAt(selectPosition)?.select() - vpEventPanel.setCurrentItem(selectPosition, false) } else { hidePanel() } } } - private val changeCallback: OnPageChangeCallback = object : OnPageChangeCallback() { - override fun onPageSelected(position: Int) { - selectPosition = position - //可以来设置选中时tab的大小 - val tabCount = tabLayout.tabCount - for (i in 0 until tabCount) { - val tab = tabLayout.getTabAt(i) - val tabView = tab!!.customView as TextView? - if (tab.position == position) { - tabView!!.textSize = activeSize.toFloat() - tabView.typeface = Typeface.DEFAULT_BOLD - } else { - tabView!!.textSize = normalSize.toFloat() - tabView.typeface = Typeface.DEFAULT - } - } - } - } - override fun onDestroyView() { mediator?.detach() - vpEventPanel?.unregisterOnPageChangeCallback(changeCallback) super.onDestroyView() } diff --git a/modules/mogo-module-v2x/src/main/res/color/radiobutton_textcolor.xml b/modules/mogo-module-v2x/src/main/res/color/radiobutton_textcolor.xml new file mode 100644 index 0000000000..8c93dd733b --- /dev/null +++ b/modules/mogo-module-v2x/src/main/res/color/radiobutton_textcolor.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_panel_fragment_event_panel.xml b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_panel_fragment_event_panel.xml index ffea487a85..94d5b89484 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_panel_fragment_event_panel.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_panel_fragment_event_panel.xml @@ -10,46 +10,91 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:background="#10121E" + android:paddingStart="@dimen/dp_30" + android:paddingEnd="@dimen/dp_30" android:visibility="gone" app:roundLayoutRadius="@dimen/dp_40" tools:visibility="visible"> - + android:gravity="center_vertical" + android:orientation="horizontal"> + + + + + + + + + + + - + app:layout_constraintTop_toBottomOf="@+id/rgTabSelect" /> + app:layout_constraintTop_toTopOf="@+id/rgTabSelect" /> diff --git a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_panel_fragment_scenario_history.xml b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_panel_fragment_scenario_history.xml index 4df5d52ffa..3e2e6940ee 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_panel_fragment_scenario_history.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_panel_fragment_scenario_history.xml @@ -16,8 +16,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingStart="@dimen/dp_60" - android:paddingTop="@dimen/dp_30" - android:paddingEnd="@dimen/dp_60" android:paddingBottom="@dimen/dp_30" android:text="今日出行遇到的交通事件" android:textColor="#FFFFFF" @@ -32,8 +30,6 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:overScrollMode="never" - android:paddingStart="@dimen/dp_40" - android:paddingEnd="@dimen/dp_40" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:listitem="@layout/item_v2x_illegal_parking" /> diff --git a/modules/mogo-module-v2x/src/main/res/values/style.xml b/modules/mogo-module-v2x/src/main/res/values/style.xml index d697c5f801..221a38085a 100644 --- a/modules/mogo-module-v2x/src/main/res/values/style.xml +++ b/modules/mogo-module-v2x/src/main/res/values/style.xml @@ -15,4 +15,8 @@ 0.5 @drawable/share_rating_bar + + \ No newline at end of file