Tablayout сдвинут вниз с полем - PullRequest
0 голосов
/ 07 мая 2020

Я реализовал макет вкладок и viewpager2, чтобы показать 2 фрагмента. То же самое происходит, когда я использую нижний вид навигации сверху и navhostfragment. Иногда, когда я выбираю первую вкладку, все нормально. Но после выбора другой вкладки поле появляется вверху. скриншот

макет окна просмотра

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <data>

    </data>

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        tools:context=".tabs.dictionary_translate_tab.DictionaryTransTab">

        <com.google.android.material.tabs.TabLayout
            android:id="@+id/tabLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
        <androidx.viewpager2.widget.ViewPager2
            android:id="@+id/viewPager"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
             />

    </LinearLayout>
</layout>
class DictionaryTransTab : Fragment() {
    lateinit var binding: FragmentDictionaryTransTabBinding
    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
                              savedInstanceState: Bundle?): View? {
        binding = DataBindingUtil.inflate(inflater, R.layout.fragment_dictionary_trans_tab, container, false)
        binding.viewPager.adapter = DictionaryTransViewPagerAdapter(this)
        TabLayoutMediator(binding.tabLayout, binding.viewPager) { tab, position ->
            tab.text = "OBJECT ${(position + 1)}"
        }.attach()

        return binding.root
    }

    class DictionaryTransViewPagerAdapter(fragment: Fragment) : FragmentStateAdapter(fragment) {
        var fragments = listOf(AccountFragment(), AccountFragment())
        override fun getItemCount(): Int = fragments.size

        override fun createFragment(position: Int): Fragment {
            return fragments[position]
        }
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...