Я пытаюсь добавить HorizontalScrollView в FragmentTabHost.Я следовал за ответом «Lore Giver» из FragmentTabHost с горизонтальной прокруткой , но он не работает для меня.После реализации xml вот так:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v4.app.FragmentTabHost
android:id="@+id/tabHost"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:scrollbars="none">
<TabWidget
android:id="@+id/tabs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"/>
</HorizontalScrollView>
<FrameLayout
android:id="@+id/tabHostContent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="48dp" />
</LinearLayout>
</android.support.v4.app.FragmentTabHost>
И настройте его так:
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val view = inflater!!.inflate(R.layout.home_tabs, container, false)
viewContext = view.context
tabHost = view.findViewById(R.id.tabHost)
tabHost.setup(view.context, fragmentManager, R.id.tabHostContent)
tabHost.addTab(tabHost.newTabSpec("home").setIndicator(context!!.getString(R.string.TAB_EMERGENCY)), EmergencyFragment::class.java, null)
tabHost.addTab(tabHost.newTabSpec("friends").setIndicator(context.getString(R.string.TAB_PRIVATE)), PrivateFragment::class.java, null)
tabHost.addTab(tabHost.newTabSpec("organizations").setIndicator(context!!.getString(R.string.ORGANIZATIONS)), OrganizationsFragment::class.java, null)
tabHost.tabWidget.dividerDrawable = null
tabHost.tabWidget.isStripEnabled = false
changeStyleOfSelectedTab()
tabHost.setOnTabChangedListener {
changeStyleOfSelectedTab()
(activity as MainActivity).tabChangedByClick(currentTab)
}
return view
}
мои вкладки не прокручивались по горизонтали.Последний заголовок («Организации») только что обернулся (он не помещался на экране).После добавления
tabHost.tabWidget.getChildAt(i).findViewById<TextView>(android.R.id.title).setSingleLine(true)
для каждой вкладки организация TITLE начала прокручивать внутри своей вкладки.Что я делаю не так?
Бар после добавления setSingleLine