【问题标题】:applying a background image for tabs in android为android中的标签应用背景图像
【发布时间】:2016-05-30 04:38:27
【问题描述】:

我想为我的应用程序中的每个选项卡设置背景图像。我尝试应用一个图标,但它不会填充选项卡。然后我尝试放置一个布局。它涵盖了所有的高度,但宽度不够。

下面是我的代码请帮助用背景图片填充标签。

viewpager = (ViewPager) findViewById(R.id.pager);
    FragmentPageAdapter ft = new FragmentPageAdapter(getSupportFragmentManager(), getApplicationContext());

    actionBar = getActionBar();

    viewpager.setAdapter(ft);

    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    actionBar.addTab(actionBar.newTab().setCustomView(R.layout.a_selected).setTabListener(this)); // trying to apply a layout as background
    actionBar.addTab(actionBar.newTab().setIcon(R.drawable.icon_1).setTabListener(this));//applying a icon as background
    actionBar.addTab(actionBar.newTab().setIcon(R.drawable.icon_2).setTabListener(this));//applying a icon as background

【问题讨论】:

标签: android tabs


【解决方案1】:

尝试使用

 actionBar = getSupportActionBar(); 

而不是

 actionBar = getActionBar();

【讨论】:

  • getSupportActionBar();仅当您使用 sharlockactionbar 时才有效,而不仅仅是 getActionBar();始终有效。
【解决方案2】:

操作栏

final ActionBar actionBar = getActionBar(); 
 BitmapDrawable background = new BitmapDrawable (BitmapFactory.decodeResource(getResources(), R.raw.actionbar_background)); 
 background.setTileModeX(android.graphics.Shader.TileMode.REPEAT); 
 actionBar.setBackgroundDrawable(background);

用于在 Tab Host Actionbar 中设置背景颜色

public static void setTabColor(TabHost tabhost) {
    for(int index=0;index<tabhost.getTabWidget().getChildCount();index++) {
        tabhost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#477a47")); //unselected
    }
    tabhost.getTabWidget().getChildAt(tabhost.getCurrentTab()).setBackgroundColor(Color.parseColor("#0000FF")); // selected
}

用于设置图片Tab Host Actionbar

但是如果你注册 TabHost.OnTabChanged 事件并调用 mTab​​Host.getCurrentTabView() 来获取 View,那么使用 view.setBackgroundResource()。

tabWidget.getChildAt(i).setBackgroundResource(R.drawable.tab_bg);

【讨论】:

  • 对不起,亲爱的,但我认为 TabHost 是做到这一点的简单方法。请关注此网址:viralandroid.com/2015/09/…
  • 有没有办法设置动作栏标签背景(上面的代码为动作栏应用了背景)
  • 不,我不这么认为.. 但你可以用 TabHost 做到这一点。
猜你喜欢
  • 1970-01-01
  • 2012-02-13
  • 1970-01-01
  • 2017-04-12
  • 2012-07-14
  • 2018-09-10
  • 1970-01-01
  • 2017-09-16
  • 1970-01-01
相关资源
最近更新 更多