7

を使用するように設計されたアプリケーションを作成しますTabhostが、私が知っているように、それは非推奨になっています。だから私の質問は、Tabhostとにかく使用する必要がありますか、それをどのように置き換えることができますか..すべてのxmlまたは他の提案で宣言されているボタンの代わりにボタンを使用することによって?

4

3 に答える 3

11

Androidの「非推奨」とは、「調査すべきより良い解決策があると考えている」という意味です。「非推奨」が「使用できない」という意味になることはめったにありません。TabHost、AFAIKは、Android4.0で正常に動作します。

そうは言っても、Android 2.1との下位互換性を提供するために、 ActionBarSherlockを使用して、アクションバーのタブに切り替えることを検討することをお勧めします。

アップデート

その上、TabHost非推奨ではありません。TabActivity非推奨です。TabHostタブのビューで、を引き続き使用できます。または、以下を使用します。

  • ViewPagerのようなタブ付きインジケーター付きPagerTabStrip
  • FragmentTabHostTabHostタブにフラグメントを使用する場合

アクションバーにもタブがサポートされていますが、「L」開発者プレビュー以降は非推奨になりました。

于 2012-04-24T12:11:14.727 に答える
3

Android APIレベル18によると、その代わりにActionBarSherlockは推奨されません。ActionBarCompatが導入されています。ActionBarCompatを使用することをお勧めします

ありがとうございました。

于 2013-08-08T07:49:50.800 に答える
1

TabHostAPIレベル30で非推奨になりました。次の代わりにマテリアルTabLayoutを使用できます:ViewPagerTabHost

<com.google.android.material.tabs.TabLayout
            android:id="@+id/tablayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tabGravity="center"
            app:tabIndicatorColor="@color/colorPrimary"
            app:tabIndicatorHeight="2dp"
            app:tabMode="fixed"
            app:tabSelectedTextColor="@color/colorPrimary"
            app:tabTextAppearance="@style/MapTabTextStyle"
            app:tabTextColor="@color/black" />

コード:

tablayout.addTab(tablayout.newTab().setText("Tab1"))
tablayout.addTab(tablayout.newTab().setText("Tab2"))
tablayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
        override fun onTabReselected(tab: TabLayout.Tab?) {

        }

        override fun onTabUnselected(tab: TabLayout.Tab?) {
            
        }

        override fun onTabSelected(tab: TabLayout.Tab?) {
            // do something
        }

    })
于 2020-09-17T22:21:22.927 に答える