Android TextSwitcher在设置文本后无法包装内容宽度

时间:2013-03-25 16:47:15

标签: android android-layout

我正在使用TextSwitcher来淡入淡出 - 当我设置文本时淡出动画。但是在更改文本时,将内容包装的宽度存在一些问题。

以下是我的TextSwitched xml:

<TextSwitcher
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_alignParentRight="true"
                            android:layout_centerVertical="true"
                            android:layout_marginLeft="5dp"
                            android:layout_marginRight="5dp"
                            android:background="#ffffff"
                            android:paddingBottom="1dp"
                            android:paddingLeft="7dp"
                            android:paddingRight="10dp"
                            android:paddingTop="1dp" >

                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:ellipsize="end"
                                android:maxLines="1"
                                android:scrollHorizontally="true"
                                android:textAppearance="?android:attr/textAppearanceSmall"
                                android:textColor="@android:color/white" />

                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:ellipsize="end"
                                android:maxLines="1"
                                android:scrollHorizontally="true"
                                android:textAppearance="?android:attr/textAppearanceSmall"
                                android:textColor="@android:color/white" />
                        </TextSwitcher>

我有字符串列表,当我从长字改变时,例如“Hello World”到“World”,textwitcher没有包装字符串“World”的宽度,而是保留了“Hello World”这个词的宽度。

简而言之,宽度对于最长单词的最大宽度保持固定。

请建议!!!

1 个答案:

答案 0 :(得分:19)

默认情况下,ViewAnimator的子类会将大小调整为最大的子级。

为避免这种情况,请尝试将android:measureAllChildren="false"添加到TextSwitcher