如何更改标签布局图标大小?

时间:2018-03-07 10:43:59

标签: android android-tablayout

我想更改标签布局图标大小。但是我的图标被选中和未被选中。

我该怎么做?如何更改图像尺寸?我的目标是:当我更改选定的选项卡时,未选中的图标将会改变。

我做到了。但图标大小非常小。我怎么能改变这个?

这是我的代码:

 private void setupTabIcons() {
        int[] tabIcons = {
                R.drawable.menu_join,
                R.drawable.menu_rate_unselected,
                R.drawable.menu_winner_unselected
        };


        tabLayout.getTabAt(0).setIcon(tabIcons[0]);
        tabLayout.getTabAt(1).setIcon(tabIcons[1]);
        tabLayout.getTabAt(2).setIcon(tabIcons[2]);

    }

和我的tabSelectedListener

 tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                JZVideoPlayer.releaseAllVideos();
                switch (tab.getPosition())
                {



                    case 0:

                        tab.setIcon(R.drawable.menu_join);
                        tabLayout.getTabAt(1).setIcon(R.drawable.menu_rate_unselected);
                        tabLayout.getTabAt(2).setIcon(R.drawable.menu_winner_unselected);
                        tabLayout.setSelectedTabIndicatorColor(Color.parseColor("#1F7DD4"));

                    break;

                    case 1:
                        tab.setIcon(R.drawable.menu_rate);
                        tabLayout.getTabAt(2).setIcon(R.drawable.menu_winner_unselected);
                        tabLayout.getTabAt(0).setIcon(R.drawable.menu_join_unselected);
                        tabLayout.setSelectedTabIndicatorColor(Color.parseColor("#8AC349"));
                        break;
                    case 2:
                        tab.setIcon(R.drawable.menu_winners);
                        tabLayout.getTabAt(0).setIcon(R.drawable.menu_join_unselected);
                        tabLayout.getTabAt(1).setIcon(R.drawable.menu_rate_unselected);
                        tabLayout.setSelectedTabIndicatorColor(Color.parseColor("#FFC106"));
                        break;



                }
            }

1 个答案:

答案 0 :(得分:0)

采取如下自定义视图

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:scaleType="fitCenter"
        android:id="@+id/icon"
        android:layout_gravity="center_horizontal" />
</LinearLayout>

将上述视图添加到您的Tablayout,如下所示

View view1 = getLayoutInflater().inflate(R.layout.customtab, null);
view1.findViewById(R.id.icon).setBackgroundResource(R.drawable.icon);
tabLayout.addTab(tabLayout.newTab().setCustomView(view1));