Android TextView大小不随更长的文本而变化

时间:2015-03-30 21:55:11

标签: android textview

所以我在ActionBar中使用自定义布局,其中包含textView和指示器图像。

活动使用寻呼机进行阅读,其数量为" next"寻呼机末端的按钮。按下该按钮后,寻呼机将加载下一个项目并更改actionBar的文本。

在此更改代码:

private void moveToNextBook(){
    String title = chapters.get(0).getTitle(context);
    titleTextView.setText(title);

    notifyDataSetChanged();

    ((ViewPager) this.container).setCurrentItem(0);
}

问题是textView的大小(宽度)似乎没有随着setText()而改变,所以如果新标题比旧标题长,则文本会被切断。

我已经尝试过invalidate(),forceLayout(),还有一些其他的事情似乎没有用。

如果有人知道为什么它不会自动改变,那就太好了。否则,在确认文本更改(最好不重新加载整个活动)的同时强制它完全重新加载的东西也会起作用

布局xml及相关内容:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="30dp">

<LinearLayout
    android:id="@+id/middle_button"
    android:orientation="horizontal"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_alignParentTop="true"
    android:clickable="true"
    android:background="@drawable/language_button_click"
    android:layout_centerHorizontal="true"
    android:onClick="chapterButtonClicked"
    android:paddingRight="20dp">

    <TextView
        android:id="@+id/middle_button_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:clickable="false"
        android:textStyle="normal"
        android:textAllCaps="false"
        android:textSize="@dimen/actionbar_title_font_size"
        android:layout_gravity="center_vertical" />

    <ImageView
        android:layout_width="20dp"
        android:layout_height="15dp"
        android:src="@drawable/quickaction_arrow_down"
        android:layout_gravity="center_vertical"
        android:paddingLeft="5dp" />
</LinearLayout>
</RelativeLayout>

0 个答案:

没有答案