我想更改标签布局图标大小。但是我的图标被选中和未被选中。
我该怎么做?如何更改图像尺寸?我的目标是:当我更改选定的选项卡时,未选中的图标将会改变。
我做到了。但图标大小非常小。我怎么能改变这个?
这是我的代码:
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;
}
}
答案 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));