• 在庆祝海南建省办经济特区30周年大会上的讲话 2019-10-07
  • 俄罗斯世界杯F组:球迷风采 2019-09-24
  • 彭于晏廖凡曝姜文“精神洁癖” 2019-09-24
  • 苏州大学研究生支教团网上众筹资助留守儿童 2019-09-23
  • 湖北政务微信排行榜第187期出炉 交警类公号表现亮眼 2019-09-19
  • 【奋斗吧2018】风电检修工——荒原上的“听风者” 2019-08-31
  • 母亲节又送康乃馨?送这样的健康佳品才走心 2019-08-30
  • [酷]此文已经把马克思理论、边际理论、人类需求层次理论、生物学理论、心理学理论、社会管理学理论等理论在哲学层面完美融合了! 2019-08-26
  • 兰芝雪纱修颜气垫隔离霜 2019-07-27
  • “鹊桥”中继星顺利进入使命轨道运行 2019-07-27
  • 超越舆情管理的360度信息决策 2019-07-22
  • 视频陶然居变形记:从路边小饭馆到全国餐饮十强 2019-07-21
  • 防震减灾事业发展的重要理论成果 2019-07-20
  • 珠宝配美人!李冰冰大片衣着性感秀身段 2019-07-20
  • 机器人也能拥有“情商”?这个可以有 2019-07-19
  • 香港赛马会唯一官方网:Android TabHost选项卡标签图标始终不出现的解决方法

     更新时间:2019年03月16日 10:07:45   作者:张智清   我要评论
    这篇文章主要介绍了Android TabHost选项卡标签图标始终不出现的解决方法,涉及Android界面布局相关属性与状态设置操作技巧,需要的朋友可以参考下

    香港赛马会网站惠泽社绝杀八码 www.mwcrz.tw 本文实例分析了Android TabHost选项卡标签图标始终不出现的解决方法。分享给大家供大家参考,具体如下:

    在学习Android TabHost布局过程中,很多教程告诉我,这样来显示选项卡标签的图标和文字:

    TapSpec spec1 = tabHost.newTabSpec("tab 1");
    spec1.setIndicator("选项卡一", getResources().getDrawable(R.drawable.tab_icon));
    spec1.setContent(R.id.tab1);
    tabHost.addTab(spec1);
    
    

    折腾来折腾去,setIndicator(label, drawable)这个方法始终不能将标题文字与图标一起显示出来,只有文字标题。

    在没将电脑砸了之前,通过万能的stackoverflow.com终于知道确切答案以及相应方法了:
    //stackoverflow.com/questions/10745092/icon-in-tab-is-not-showing-up

    其实就是SDK 4.03(冰激凌)下:只有文字标题显示,图标是不显示的。如果将文字标题设置为空字符串,则此时图标可显示。

    对于冰激凌下两全其美的方法,只能是自定义标签卡布局,创建一个包含ImageView和TextView组件的界面布局文件 tab_indicator.xml(layout/tab_indicator.xml),然后用setIndicator(View view)方法来设置TabSpec的界面布局。

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="//schemas.android.com/apk/res/android"
    android:layout_width="0dip"
    android:layout_height="64dip"
    android:layout_weight="1"
    android:orientation="vertical"
    android:background="@drawable/tab_indicator"
    android:padding="5dp">
    <ImageView android:id="@+id/icon"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    />
    <TextView android:id="@+id/title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    style="?android:attr/tabWidgetStyle"
    />
    </RelativeLayout>
    
    

    接着我们可以在drawable图片资源目录下创建一个tab_info.xml文件,用来指示Tab图标的各状态。

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="//schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/tab_info_dark"
    android:state_selected="true" />
    <item android:drawable="@drawable/tab_info_light" />
    </selector>
    
    

    现在就可以通过下面的代码将我们自定义的视图作为一个indicator配置给TapSpec对象。

    private void addTab(String label, int drawableId) {
    Intent intent = new Intent(this, MockActivity.class);
    TabHost.TabSpec spec = tabHost.newTabSpec(label);
    View tabIndicator = LayoutInflater.from(this).inflate(R.layout.tab_indicator, getTabWidget(), false);
    TextView title = (TextView) tabIndicator.findViewById(R.id.title);
    title.setText(label);
    ImageView icon = (ImageView) tabIndicator.findViewById(R.id.icon);
    icon.setImageResource(drawableId);
    spec.setIndicator(tabIndicator);
    spec.setContent(intent);
    tabHost.addTab(spec);
    }
    
    

    像以下方式那样调用上面那自定义addTab方法

    tabHost = getTabHost(); //tabHost is a private field
    addTab("First", R.drawable.tab_info);
    addTab("Second", R.drawable.tab_info);
    addTab("Third", R.drawable.tab_info);
    
    

    注意:当用自定义视图的indicator来添加Tab时,要将strip_enabled属性设置为false。若要兼顾底部strip,那在添加最后一个Tab后设置getTabWidget().setStripEnabled(true);

    更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结

    希望本文所述对大家Android程序设计有所帮助。

    相关文章

    最新评论

  • 在庆祝海南建省办经济特区30周年大会上的讲话 2019-10-07
  • 俄罗斯世界杯F组:球迷风采 2019-09-24
  • 彭于晏廖凡曝姜文“精神洁癖” 2019-09-24
  • 苏州大学研究生支教团网上众筹资助留守儿童 2019-09-23
  • 湖北政务微信排行榜第187期出炉 交警类公号表现亮眼 2019-09-19
  • 【奋斗吧2018】风电检修工——荒原上的“听风者” 2019-08-31
  • 母亲节又送康乃馨?送这样的健康佳品才走心 2019-08-30
  • [酷]此文已经把马克思理论、边际理论、人类需求层次理论、生物学理论、心理学理论、社会管理学理论等理论在哲学层面完美融合了! 2019-08-26
  • 兰芝雪纱修颜气垫隔离霜 2019-07-27
  • “鹊桥”中继星顺利进入使命轨道运行 2019-07-27
  • 超越舆情管理的360度信息决策 2019-07-22
  • 视频陶然居变形记:从路边小饭馆到全国餐饮十强 2019-07-21
  • 防震减灾事业发展的重要理论成果 2019-07-20
  • 珠宝配美人!李冰冰大片衣着性感秀身段 2019-07-20
  • 机器人也能拥有“情商”?这个可以有 2019-07-19
  • 四方棋牌下载 广东11选5任三多少倍 时时彩不定位稳赚不赔 重庆时时五星龙虎和 全网最准彩票人工计划 pk10三码必中冠军计划 体彩电子投注单怎么领奖 重庆时时官方开奖结果 网彩计划软件手机版下载 体彩八码组六遗漏