如何阻止Android标签中的标题包装在单词的中间?

时间:2011-03-23 13:39:08

标签: android text tabs title word-wrap

我有一个带有多个标签的布局。发生的事情是,在横向方向上,布局包装了标签标题中使用的文字,而不是单词 - 它包裹在单词的中间!所以标题如下:

Description  

在肖像方面看起来不错,但在风景中显示如下:

Desc  
ript  
ion

我没有为文本指定任何自动换行或样式属性。我认为布局在横向模式下比肖像有更多的空间,所以这没有任何意义。非常感谢任何关于应该注意什么的建议。

4 个答案:

答案 0 :(得分:10)

迟到的回复,但谷歌把我带到了这里,所以这可能仍然有用。

您可以选择滚动标签,我认为这比更改字体大小更好。

应用:tabMode = “滚动”

<android.support.design.widget.TabLayout
        android:id="@+id/tablayout_id"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        app:tabMode="scrollable"
        >

答案 1 :(得分:0)

  • 您是否使用相同的横向和纵向布局文件?
  • 标签的宽度是否设为wrap_content
  • 尝试在标签文字
  • 上设置singleLine="true"
  • 更改为横向时,标签图形的宽度是否会增加?
  • 您是否在选项卡上使用自定义背景,如果是,则为九补丁?

虽然TBH我通常使用RadioGroup和FrameLayout来实现标签,因为它提供了更多的控制(你不能在2.2之前更改标签条可绘制,并且使用这种方法你的标签可以与标签内容分开所以你可以把它放在任何你想要的地方。

答案 2 :(得分:0)

好的,我们设法解决了这个问题。不得不将字体大小减小1pt,并减少选项卡上的左+右填充。我们还注意到,在横向上,标签大小都相同,但是在纵向中它们不是,所以很明显我们有一个fill_parent而不是wrap_content。修复似乎适用于7“和10”平板电脑。谢谢你的帮助。

答案 3 :(得分:0)

您可以使用

进行管理

在项目ActionBarSherlock中重写此类./ActionbarSherlock/src/com/actionbarsherlock/internal/widget/ScrollingTabContainerView.java

@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);

    if (mParent.mMaxTabWidth > 0 && getMeasuredWidth() > mParent.mMaxTabWidth) {

        //comment this line

       // super.onMeasure(MeasureSpec.makeMeasureSpec(mParent.mMaxTabWidth, MeasureSpec.EXACTLY),heightMeasureSpec);

       //now do nothing , override by me for ActionBarTabs not rezize never
      //this method manage the size tabs, if you want you can count caracters to resize the size width
    }
}