>如果文本太长,文本将转到下一行,我可以减少
尺寸并强制它到单线?
>所有图标都不显示,即使我确定图像src是正确的
public class MainActivity extends FragmentActivity { @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); FragmentTabHost tabHost = (FragmentTabHost)findVIEwByID(androID.R.ID.tabhost); tabHost.setup(this,getSupportFragmentManager(),R.ID.realtabcontent); tabHost.addTab(tabHost.newTabSpec("restaurant").setIndicator("Restaurant",getResources().getDrawable(R.drawable.food)),PlaceList.class,null); tabHost.addTab(tabHost.newTabSpec("attraction").setIndicator("Attraction",getResources().getDrawable(R.drawable.vIEw)),null); tabHost.addTab(tabHost.newTabSpec("map").setIndicator("Map",getResources().getDrawable(R.drawable.map)),Map.class,null); tabHost.addTab(tabHost.newTabSpec("planner").setIndicator("Planner",getResources().getDrawable(R.drawable.plan)),Planner.class,null); } }解决方法 当调用TabSpec.setIndicator时,你在 will only be visible if the label is
null
or empty.中传递的Drawable只要确保TextVIEw被限制为单行就可以了,你可以遍历TabWidget.getTabCount,然后调用TabWidget.getChildTabVIEwAt和VIEw.findVIEwByID来获取用于的TextVIEw设置标题.之后,只需调用TextVIEw.setSingleline. final TabWidget tabWidget = tabHost.getTabWidget(); for (int i = 0; i < tabWidget.getTabCount(); i++) { final VIEw tab = tabWidget.getChildTabVIEwAt(i); final TextVIEw Title = (TextVIEw) tab.findVIEwByID(androID.R.ID.Title); Title.setSingleline(); }
或者,您可以通过为Widget.TabWidget创建样式来扩展自己的选项卡布局.
<style name="Your.TabWidget" parent="@androID:style/Widget.TabWidget"> <item name="androID:tabLayout">@layout/your_tab_layout</item></style>
在您的父主题中为androID创建一个新项:tabWidgetStyle来应用它.
总结以上是内存溢出为你收集整理的为什么Tab主机不在android中显示图标?全部内容,希望文章能够帮你解决为什么Tab主机不在android中显示图标?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)