Android Studio:标签图标

时间:2015-05-07 10:15:21

标签: java android android-layout android-tabs android-icons

如何使用图标制作材质样式标签? (就像在YouTube A / B测试中一样)

图像: http://cdn.gsmarena.com/pics/15/03/youtube-app-design/gsmarena_001.jpg

我目前有这个代码来制作标签,而答案中的代码不起作用。 (但谢谢!)

    @Override
    public int getCount() {
        // Show 4 total pages.
        return 4;
    }

    @Override
    public CharSequence getPageTitle(int position) {
        Locale l = Locale.getDefault();
        switch (position) {
            case 0:
                return getString(R.string.tab1).toUpperCase(l);
            case 1:
                return getString(R.string.tab2).toUpperCase(l);
            case 2:
                return getString(R.string.tab3).toUpperCase(l);
            case 3:
                return getString(R.string.tab4).toUpperCase(l);
        }
        return null;
    }
}

我希望它适用于Android 4.1 +

非常感谢!

1 个答案:

答案 0 :(得分:0)

要添加图标,您需要在 drawable 文件夹下创建 xml文件以定义selector

喜欢..

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
    <!-- When selected, use grey -->
    <item android:drawable="@drawable/image_gray"
          android:state_selected="true" />
    <!-- When not selected, use white-->
    <item android:drawable="@drawable/image_white" />
</selector>

MainActivity

// Tab for tab1
TabSpec tab1spec = tabHost.newTabSpec("Tab1");    tab1spec.setIndicator("Tab1", getResources().getDrawable(R.drawable.icon_tab1_tab));
Intent tab1Intent = new Intent(this, Tab1Activity.class);
tab1spec.setContent(tab1Intent);

另外,您可以参考http://www.androidhive.info/2011/08/android-tab-layout-tutorial/获取更多帮助。