Tôi đã gặp sự cố khác với ViewPager và tôi không thể giải quyết vấn đề này với kiến thức hiện tại của mình ngay bây giờ.Vấn đề về gói nội dung Chỉ báo TabPage của Android
Tôi có TabPageIndicator với ViewPager và trên mọi tab, tôi đang hiển thị văn bản. TextView đơn giản:
<?xml version="1.0" encoding="utf-8"?>
<view xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
class="viewpagerindicator.TabPageIndicator$TabView" >
<TextView
android:id="@+id/vpi_tab_text"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:singleLine="true"
android:ellipsize="marquee"
android:gravity="center"
android:paddingBottom="10dip"
android:paddingLeft="8dip"
android:paddingRight="8dip"
android:paddingTop="10dip"
android:textColor="@drawable/vpi_tab_text_color"
android:typeface="serif" />
</view>
Tôi muốn văn bản trong tab luôn là một dòng duy nhất và luôn là toàn bộ văn bản, không bỏ qua, không gói, không quá 1 dòng. Người dùng có thể đọc toàn bộ ...
Nhưng tôi không thể làm điều đó, tôi đã thử các tùy chọn khác nhau và tôi vẫn gặp phải một số vấn đề - văn bản có nhiều hơn một dòng, nhưng chỉ phần đầu tiên được hiển thị hoặc chỉ một phần của văn bản được hiển thị.
Bạn đã trải nghiệm điều gì đó tương tự?
Any help is appreciated
EDIT ONE:
Tôi tin rằng vấn đề là ở đây:
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
final int widthMode = MeasureSpec.getMode(widthMeasureSpec);
final boolean lockedExpanded = widthMode == MeasureSpec.EXACTLY;
setFillViewport(lockedExpanded);
final int childCount = mTabLayout.getChildCount();
if (childCount > 1 && (widthMode == MeasureSpec.EXACTLY || widthMode == MeasureSpec.AT_MOST)) {
if (childCount > 2) {
mMaxTabWidth = (int) (MeasureSpec.getSize(widthMeasureSpec) * 0.4f);
} else {
mMaxTabWidth = MeasureSpec.getSize(widthMeasureSpec)/2;
}
} else {
mMaxTabWidth = -1;
}
final int oldWidth = getMeasuredWidth();
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
final int newWidth = getMeasuredWidth();
if (lockedExpanded && oldWidth != newWidth) {
// Recenter the tab display if we're at a new (scrollable) size.
setCurrentItem(mSelectedTabIndex);
}
}
mMaxTabWidth ...
tôi đã cố gắng này, nhưng nó đã không làm việc – Shehabix