FragmentTabHost с HorizontalScrollView - PullRequest
       22

FragmentTabHost с HorizontalScrollView

0 голосов
/ 12 сентября 2018

Я пытаюсь добавить 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

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