Как остановить заголовки на вкладках Android от середины слова? - PullRequest
4 голосов
/ 23 марта 2011

У меня есть макет с несколькими вкладками.Происходит то, что в альбомной ориентации макет оборачивает текст, используемый в заголовках вкладок, но не в слове, а в середине слова!Таким образом, заголовок типа:

Description  

выглядит хорошо в портретной ориентации, но в альбомной ориентации отображается так:

Desc  
ript  
ion

Я не указываю никаких атрибутов переноса слов или стиля для текста.Я бы предположил, что макет будет иметь больше места в ландшафтном режиме, чем в портретном, так что это не имеет смысла.Буду признателен за любые советы о том, что посмотреть.

Ответы [ 4 ]

10 голосов
/ 25 августа 2016

Поздний ответ, но Google привел меня сюда, так что это может быть полезно до сих пор.

Вы можете выбрать прокрутку вкладок, что, я считаю, предпочтительнее, чем изменение размеров шрифта.

app: tabMode = "scrollable"

<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"
        >
0 голосов
/ 24 марта 2011

ОК, нам удалось это исправить.Пришлось уменьшить размер шрифта на 1pt и уменьшить отступы влево и вправо на вкладках.Мы также заметили, что в альбомной ориентации все вкладки были одинакового размера, но в портретной ориентации они не были, поэтому очевидно, что где-то у нас был fill_parent вместо wrap_content.Фикс, кажется, работает как для 7 ", так и для 10" планшетов.Спасибо за помощь.

0 голосов
/ 10 апреля 2014

Вы можете управлять этим, с

Переопределите этот класс в проекте 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
    }
}
0 голосов
/ 23 марта 2011
  • Используете ли вы один и тот же файл макета для альбомной и книжной ориентации?
  • Установлена ​​ли ширина ваших вкладок на wrap_content?
  • Попробуйте установить singleLine="true" на вкладкеtext
  • Увеличивается ли ширина графического изображения вкладки при изменении на альбомную?
  • Используете ли вы пользовательский фон на вкладках и, если да, то это девятиплатный формат?

Хотя TBH я обычно использую RadioGroup и FrameLayout для достижения вкладок, потому что это обеспечивает больший контроль (вы не можете изменить полосу вкладок, которую можно нарисовать до 2.2, и с помощью этого метода ваши вкладки можно отделить от содержимого вкладок, так чтоВы можете положить любой, где вы хотите).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...