私のアプリでは、各タブがアイコンとテキストの両方を持つtablayoutを実装しています。 タブを選択すると、アイコンとテキストを同じタブで選択し、 未選択のタブを別の色のテキストとアイコンで選択する必要があります。Android TabLayout(テキストとアイコン)選択したタブのテキストとアイコンの色を変更します。
以下は、タブレイアウトを実装するためのコードですが、タブの選択時にテキストの色とアイコンの色を変更することはできません。
private void setupTabIcons() {
TextView tabOne = (TextView) LayoutInflater.from(mContext).inflate(R.layout.custome_tab_with_icon, null);
tabOne.setText("Home");
tabOne.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.selector_home, 0, 0);
tabLayout.getTabAt(0).setCustomView(tabOne);
TextView tabTwo = (TextView) LayoutInflater.from(mContext).inflate(R.layout.custome_tab_with_icon, null);
tabTwo.setText("Search");
tabTwo.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.selector_search, 0, 0);
tabLayout.getTabAt(1).setCustomView(tabTwo);
TextView tabThree = (TextView) LayoutInflater.from(mContext).inflate(R.layout.custome_tab_with_icon, null);
tabThree.setText("WishList");
tabThree.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.selector_wishlist, 0, 0);
tabLayout.getTabAt(2).setCustomView(tabThree);
TextView tabFour = (TextView) LayoutInflater.from(mContext).inflate(R.layout.custome_tab_with_icon, null);
tabFour.setText("Cart");
tabFour.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.selector_cart, 0, 0);
tabLayout.getTabAt(3).setCustomView(tabFour);
TextView tabFive = (TextView) LayoutInflater.from(mContext).inflate(R.layout.custome_tab_with_icon, null);
tabFive.setText("Account");
tabFive.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.selector_accounts, 0, 0);
tabLayout.getTabAt(4).setCustomView(tabFive);
}
タブが選択されている場合のテキストの色とアイコンの変更方法をお手伝いしてください。
あなたはTabLayout.OnTabSelectedListener
を追加することによって、それはあなたがアイコンとテキストの両方の色を変更するために使用できる3つの方法onTabSelected()
、onTabUnselected()
とonTabReselected()
を、持っていることを行うことができますTIA
何もtablayoutに表示されません。上記のコードを適用した後、タブバーは空白になりません。 – Ravi
上記のコードは私のために働いています –
タブの名前を与えるために.setText( "タブ名")を使用してください。更新されたコードを確認してくださいアイコンが表示される限りテキストが表示されますセレクタファイルを正しくチェックしてください –