Mercurial > dwindows
changeset 2497:7b210f156eef
Android: Fix the notebook tabs visibility. Thank you orbyt on FreeNode for the help!
Set the TabLayout to ALIGN_PARENT_TOP or ALIGN_PARENT_BOTTOM and the ViewPager2 to
ABOVE or BELOW depending on the requested tab location. Not setting the relative
position of the ViewPager2 caused it to fill the entire layout.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Wed, 05 May 2021 01:19:21 +0000 |
parents | 3bf2f08fdc45 |
children | 4ae2b3b77f25 |
files | android/DWindows.kt |
diffstat | 1 files changed, 13 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/android/DWindows.kt Mon May 03 07:15:11 2021 +0000 +++ b/android/DWindows.kt Wed May 05 01:19:21 2021 +0000 @@ -23,6 +23,7 @@ import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AppCompatActivity import androidx.collection.SimpleArrayMap +import androidx.core.view.marginStart import androidx.recyclerview.widget.RecyclerView import androidx.viewpager2.widget.ViewPager2 import com.google.android.material.tabs.TabLayout @@ -397,17 +398,26 @@ tabs.id = View.generateViewId() pager.id = View.generateViewId() pager.adapter = DWTabViewPagerAdapter() + TabLayoutMediator(tabs, pager) { tab, position -> + //tab.text = "OBJECT ${(position + 1)}" + }.attach() var params: RelativeLayout.LayoutParams = RelativeLayout.LayoutParams(w, h) if(top != 0) { - params.addRule(RelativeLayout.ABOVE, pager.id) + params.addRule(RelativeLayout.ALIGN_PARENT_TOP) } else { - params.addRule(RelativeLayout.BELOW, pager.id) + params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM) } tabs.tabGravity = TabLayout.GRAVITY_FILL tabs.tabMode = TabLayout.MODE_FIXED notebook.addView(tabs, params) - notebook.addView(pager, RelativeLayout.LayoutParams(w, w)) + params = RelativeLayout.LayoutParams(w, w) + if(top != 0) { + params.addRule(RelativeLayout.BELOW, tabs.id) + } else { + params.addRule(RelativeLayout.ABOVE, tabs.id) + } + notebook.addView(pager, params) tabs.addOnTabSelectedListener(object : OnTabSelectedListener { override fun onTabSelected(tab: TabLayout.Tab) { val adapter = pager.adapter as DWTabViewPagerAdapter