这是我的xml文件
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center" >
</TabWidget>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</FrameLayout>
</LinearLayout>
</TabHost>
这是我的.class文件
TabHost tabHost = getTabHost();
TabSpec ta1= tabHost.newTabSpec("title");
ta1.setIndicator("title");
Intent ta1intent = new Intent(this, 1_webview.class);
ta1.setContent(ta1intent);
TabSpec ta2= tabHost.newTabSpec("title1");
ta2.setIndicator("Title1");
Intent ta2intent = new Intent(this, 2_webview.class);
ta2.setContent(ta2intent);
TabSpec ta3= tabHost.newTabSpec("two linetitle");
ta3.setIndicator("Two line title");
Intent ta3intent = new Intent(this, 3_webview.class);
ta3.setContent(ta3intent);
TabSpec ta4 = tabHost.newTabSpec("two line title");
ta4.setIndicator("Two line //n title"); //tried using line break displays Two line \N title
Intent ta4intent = new Intent(this, week_webview.class);
ta4.setContent(ta4intent);
这就是我得到的
有什么方法可以让我在tab3和tab4中的标题是多线的而不是被裁掉,tab3和tab4中的实际文本是&#34;两个带衬里的文本&#34;但它只显示两行。
或者有没有办法减少字体大小以便所有单词都可见?
答案 0 :(得分:3)
也许标题有足够的空间,但TabView中的填充量很大。
就我而言,标题足够短,可以放在API-8到API-14的选项卡中,但不适用于API-17。删除填充解决了我的问题。
将5个标签添加到我的tabHost后,我执行以下操作:
for (int i=0; i<5; i++) {
View tabView = tabHost.getTabWidget().getChildTabViewAt(i);
tabView.setPadding(0, 0, 0, 0);
TextView tv = (TextView)tabView.findViewById(android.R.id.title);
tv.setSingleLine();
tv.setTextSize(14);
}
答案 1 :(得分:2)
我相信对于较小的屏幕尺寸,显示冗长的标签名称并不是一个好主意。因此,如果它太长,那么android的限制和截止剩余。但您可以将文本作为图像并将其放在选项卡
中这样的事情:
//CRAFTING TAB
TabSpec craftTabSpec = tabHost.newTabSpec("Crafting");
craftTabSpec.setIndicator("",getResources().getDrawable(R.drawable.YOURIMAGE));
Intent craftIntent = new Intent(this, Bifrost.class);
craftTabSpec.setContent(craftIntent);
修改强> 如果你想减小字体大小,是的,你可以。定义自己的风格。
从How to change the font size of tabhost in android
获取详细步骤希望有所帮助
答案 2 :(得分:0)
The activity must extend TabActivity implements
OnTabChangeListener
tabHost = getTabHost();
tabHost.getTabWidget().setDividerDrawable(R.color.trans);
tabHost.getTabWidget().setShowDividers(
TabWidget.SHOW_DIVIDER_MIDDLE);
tabHost.setup();
tabHost.setOnTabChangedListener(this);
// Inbox Tab
TabSpec inboxSpec = tabHost.newTabSpec(INBOX_SPEC);
// Tab Icon
inboxSpec.setIndicator(INBOX_SPEC);
Intent inboxIntent = new Intent(this,
IndividualReminderActivity.class);
// Tab Content
inboxSpec.setContent(inboxIntent);
// Outbox Tab
TabSpec outboxSpec = tabHost.newTabSpec(OUTBOX_SPEC);
outboxSpec.setIndicator(OUTBOX_SPEC);
Intent outboxIntent = new Intent(this,
CleanUpReminderActivity.class);
outboxSpec.setContent(outboxIntent);
// Adding all TabSpec to TabHost
tabHost.addTab(inboxSpec); // Adding Inbox tab
tabHost.addTab(outboxSpec); // Adding Outbox tab
RelativeLayout.LayoutParams rllp = new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
rllp.addRule(RelativeLayout.CENTER_IN_PARENT);
for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) {
//setting background color
tabHost.getTabWidget().getChildAt(i)
.setBackgroundColor(Color.parseColor("#000000"));
//setting hieght width
tabHost.getTabWidget().getChildAt(i)
.findViewById(android.R.id.title).setLayoutParams(rllp);
tabHost.getTabWidget().getChildAt(i).getLayoutParams().height
=100;
tabHost.getTabWidget().getChildAt(i).getLayoutParams().width = 220;
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/background_color_main"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TabHost
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/black_color"
android:orientation="vertical" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="60dp"
android:showDividers="middle"
android:textSize="@dimen/text_size" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#000000" />
</LinearLayout>
</TabHost>
<View
android:layout_width="fill_parent"
android:layout_height="2dp"
android:background="@color/ediitext_color" />
</LinearLayout>
</LinearLayout>