我在使用singleLine=true
和ellipsize=start
使用按钮时有一个奇怪的行为。
首先,我的按钮声明:
<Button
android:id="@+id/enterDeparture"
android:layout_width="175dp"
android:layout_height="30dp"
android:layout_marginLeft="10dp"
android:background="@drawable/field_button"
android:text="@string/research_enterDeparture"
android:textColor="@drawable/field_button_textcolor"
android:paddingLeft="3dp"
android:paddingRight="3dp"
android:ellipsize="start"
android:singleLine="true" />
使用此声明,按钮内不会显示任何文本。但是如果我写Log.d(TAG, "the text is : " + findViewById(R.id.enterDeparture));
,LogCat 会给我正确的值......
我试图以编程方式设置文本,无论是在方法onCreateView()
中还是在onResume()
方法中:相同的行为。但是,如果我稍后再设置文本,如果我在屏幕上放置一个 AlertDialog,内容会立即返回......
最后,如果我删除两行android:ellipsize="start"
和android:singleLine="true"
,一切正常:我的文本第一次显示。
编辑
我试图删除该singleLine=true
行:实际显示了初始内容,但椭圆大小的行为不再起作用......
所以我尝试了maxLines=1
:显示初始内容,但不再显示“...”(内容只是被截断)。