【发布时间】:2016-08-12 15:38:01
【问题描述】:
我正在开发一个 android 应用程序,并希望创建一个如下所示的布局。
我想让选项卡与此布局中显示的相同,它将水平滚动。我想在这些选项卡上设置反应和文本的图标。图标是我需要显示的服务器图像,但我不知道如何在选项卡中将服务器 url 图像显示为图标。
除了TabLayout 或滑动TabLayout 之外,还有其他方法可以得到与图片中相同的UI 吗?
如果有人知道怎么做,请帮忙。
【问题讨论】:
我正在开发一个 android 应用程序,并希望创建一个如下所示的布局。
我想让选项卡与此布局中显示的相同,它将水平滚动。我想在这些选项卡上设置反应和文本的图标。图标是我需要显示的服务器图像,但我不知道如何在选项卡中将服务器 url 图像显示为图标。
除了TabLayout 或滑动TabLayout 之外,还有其他方法可以得到与图片中相同的UI 吗?
如果有人知道怎么做,请帮忙。
【问题讨论】:
ViewPager 适配器
public class ViewPagerAdapter extends FragmentPagerAdapter {
private static int NUM_ITEMS = 2;
private Context mContext;
private String[] tabText;
public ViewPagerAdapter(FragmentManager fragmentManager, Context context) {
super(fragmentManager);
this.mContext = context;
this.tabText = new String[]{
"First tab",
"second tab"
};
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return new FirstFragment();
case 1:
return new SecondFragment();
default:
return null;
}
}
@Override
public int getCount() {
return NUM_ITEMS;
}
@Override
public CharSequence getPageTitle(int position) {
return tabText[position];
}
}
MainActivity.Java
private int[] imageResId = {// icon resource };
mTabLayout = (TabLayout) view.findViewById(R.id.tl_viewer);
mViewpager = (ViewPager) view.findViewById(R.id.vp_viewer);
mTabLayout.setupWithViewPager(mViewpager);
//Method to set up tab layout icon
private void setUpTabIcon() {
for (int i = 0; i < mTabLayout.getTabCount(); i++) {
mTabLayout.getTabAt(i).setIcon(imageResId[i]);
}
}
从 ViewPager 适配器中选取的选项卡计数和选项卡文本。和从 setTabIcon 方法中选取的图标
【讨论】:
您需要为标签设置自定义布局。 看这个链接How to set icon next to text in tablayout
为了回答您显示服务器图像的另一个查询,您可以为此目的使用库,例如 http://square.github.io/picasso/
【讨论】:
请使用下面的 Android hive 链接。 Android Hive 非常适合使用 TabLayout -
http://www.androidhive.info/2015/09/android-material-design-working-with-tabs/
【讨论】: