Java 如何添加表格布局图标
我有一个问题,我如何实现图表布局的图标 我有3个选项卡,所有选项卡都有选中和未选中的图标。白黄色 但是,不知道如何实现这些 下面是我的UserActivity类: UserFragmentPageAdapter: 和3个选项卡之一: 你知道在哪里,怎样。。。我会用TabHost来做,但我喜欢这样Java 如何添加表格布局图标,java,android,Java,Android,我有一个问题,我如何实现图表布局的图标 我有3个选项卡,所有选项卡都有选中和未选中的图标。白黄色 但是,不知道如何实现这些 下面是我的UserActivity类: UserFragmentPageAdapter: 和3个选项卡之一: 你知道在哪里,怎样。。。我会用TabHost来做,但我喜欢这样 我在drawable/hdpi中有6个图标48x48 有一个解决方案,但不是很好 tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelect
我在drawable/hdpi中有6个图标48x48 有一个解决方案,但不是很好
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
int pos = tab.getPosition();
switch (pos) {
case 0 :
tab.setIcon(R.drawable.select_0);
break;
case 1 :
tab.setIcon(R.drawable.select_1);
break;
case 2 :
tab.setIcon(R.drawable.select_2);
break;
}
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
int pos = tab.getPosition();
switch (pos) {
case 0 :
tab.setIcon(R.drawable.unselect_0);
break;
case 1 :
tab.setIcon(R.drawable.unselect_1);
break;
case 2 :
tab.setIcon(R.drawable.unselect_2);
break;
}
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
但此代码可能存在于您的用户活动中,pagerAdapter不支持直接带有图标的选项卡。缺少一个。Tab选项卡{int pos=Tab.getPosition;开关位置{案例0:tab.setIconR.drawable.select_0;break;案例1:tab.setIconR.drawable.select_1;break;案例2:tab.setIconR.drawable.select_2;break;}viewPager.setCurrentItempos;}
public UserFragmentPagerAdapter(FragmentManager fragmentManager) {
super(fragmentManager);
}
@Override
public int getCount() {
return NUM_ITEMS;
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0: // Fragment # 0 - This will show FirstFragment
return SmallMoveFragment.newInstance(0, "Small Move");
case 1: // Fragment # 0 - This will show FirstFragment different title
return DeliveryFragment.newInstance(1, "Delivery");
case 2: // Fragment # 1 - This will show SecondFragment
return GarbageFragment.newInstance(2, "Garbage");
default:
return null;
}
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0: // Fragment # 0 - This will show FirstFragment
return "Small Move";
case 1: // Fragment # 0 - This will show FirstFragment different title
return "Delivery";
case 2: // Fragment # 1 - This will show SecondFragment
return "Garbage ";
default:
return "No name";
}
}
}
public class DeliveryFragment extends Fragment {
// Store instance variables
private String title;
private int page;
// newInstance constructor for creating fragment with arguments
public static DeliveryFragment newInstance(int page, String title) {
DeliveryFragment fragmentFirst = new DeliveryFragment();
Bundle args = new Bundle();
args.putInt("someInt", page);
args.putString("someTitle", title);
fragmentFirst.setArguments(args);
return fragmentFirst;
}
// Store instance variables based on arguments passed
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
page = getArguments().getInt("someInt", 0);
title = getArguments().getString("someTitle");
}
// Inflate the view for the fragment based on layout XML
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_delivery, container, false);
TextView tvLabel = (TextView) view.findViewById(R.id.DeliveryTxt);
tvLabel.setText(page + " -- " + title);
return view;
}
}
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
int pos = tab.getPosition();
switch (pos) {
case 0 :
tab.setIcon(R.drawable.select_0);
break;
case 1 :
tab.setIcon(R.drawable.select_1);
break;
case 2 :
tab.setIcon(R.drawable.select_2);
break;
}
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
int pos = tab.getPosition();
switch (pos) {
case 0 :
tab.setIcon(R.drawable.unselect_0);
break;
case 1 :
tab.setIcon(R.drawable.unselect_1);
break;
case 2 :
tab.setIcon(R.drawable.unselect_2);
break;
}
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});