0

ボタンを使用したり使用し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 を配置すると、コンテンツはすぐに戻ってきます...

最後に、 と の 2 行を削除するandroid:ellipsize="start"android:singleLine="true"、すべて正常です。最初にテキストが表示されます。

編集

行を削除しようとしましたsingleLine=true: 最初のコンテンツは実際に表示されますが、楕円サイズの動作はもう機能しません...

だから私は試してみましたmaxLines=1:最初のコンテンツは表示されますが、「...」はもう表示されません(コンテンツは切り捨てられます)。

4

1 に答える 1

1

高さの値を変更してみてください。

android:layout_height="wrap_content"

テキストを...に省略している可能性があります。また、ボタンのパディングが非表示になっている可能性があります。

また、代わりにこれを試してみたいと思います。

Log.d(TAG, "the text is : " + ((Button)findViewById(R.id.enterDeparture)).getText())
于 2012-08-24T10:57:32.447 に答える