android - 使用自定义图片和/或颜色填充 Android 选项卡

标签 android colors tabs fill

嘿,我已经创建了 Google 的 tab layout 示例

HelloTabWidget.java:

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Resources res = getResources(); // Resource object to get Drawables
TabHost tabHost = getTabHost();  // The activity TabHost
TabHost.TabSpec spec;  // Resusable TabSpec for each tab
Intent intent;  // Reusable Intent for each tab

// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this, ArtistsActivity.class);

// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("artists").setIndicator("Artists",
                  res.getDrawable(R.drawable.ic_tab_artists))
              .setContent(intent);
tabHost.addTab(spec);

// Do the same for the other tabs
intent = new Intent().setClass(this, AlbumsActivity.class);
spec = tabHost.newTabSpec("albums").setIndicator("Albums",
                  res.getDrawable(R.drawable.ic_tab_albums))
              .setContent(intent);
tabHost.addTab(spec);

intent = new Intent().setClass(this, SongsActivity.class);
spec = tabHost.newTabSpec("songs").setIndicator("Songs",
                  res.getDrawable(R.drawable.ic_tab_songs))
              .setContent(intent);
tabHost.addTab(spec);

tabHost.setCurrentTab(2);

我知道如何创建我自己的图标来代替他们的灰色和白色麦克风,但我不知道如何让我的自定义图标填满整个选项卡。选择标签时,是浅灰色的,中间我的照片,当没有选择其深灰色时,我的图片在中间。我更喜欢让我自​​己的照片填满整个选项卡,并且为了更有见识;我自己选择的颜色来填充选项卡。

最佳答案

您可以使用 setIndicator(View view) 通过 Tab Indicator 做更复杂的事情。

尝试玩这个...

ImageView imgView = new ImageView(this);

// Use imgView.setImageDrawable(Drawable drawable) or
// imgView.setImageBitmap(Bitmap bitmap) to load
// the image you want into imgView

spec = tabHost.newTabSpec("artists").setIndicator(imgView).setContent(intent);

我不确定这是否是您想要的,但如果 ImageView 不适合您,您可以(理论上)使用任何 View 类作为指示器。

编辑:

我试过...

    BitmapDrawable bmd = new BitmapDrawable();
    bmd = (BitmapDrawable) res.getDrawable(R.drawable.ic_tab_artists_grey);
    imgView.setImageDrawable(bmd);

关于android - 使用自定义图片和/或颜色填充 Android 选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4630865/

相关文章:

matlab - 如何更改条形图中条形的颜色?

java - 如何在TabLayout中将除第一个字母之外的所有字母小写?

graph - gnuplot 改变连接线的颜色

Android Tab教程问题

css - Zurb Foundation 标签在造型后损坏

android - react 原生 : How to make fullscreen youtube embed video in webview with expo (without react-native link)

java - 是否有任何 Android API 来获取 CPU 和电池状态?

android - 即使授予存储权限也无法在Samsung手机上创建目录

Android 应用程序在调试中工作,但在发布时不工作

php - 根据现有十六进制值列表确定最接近的十六进制颜色