EditText
テキストが長すぎる場合は、省略して最初の文字が表示されるようにする必要があります。ただし、クリック/タッチイベントでは編集可能で、カーソルが行末にある必要があります。
インターネットで検索したところ、android:ellipsize="end"
の編集可能モードと互換性がないようですEditText
。確かに、edittext.setKeyListener(null)
楕円サイズを設定すると機能しますが、ビューは編集できず、何も設定できませんonClickListener
。
無効にするsetFocusable(false)
代わりに使用するKeyListener
と、楕円形の効果が得られません。
私の現在のコード:
v.setSelection(0);
v.setFocusable(false);
//v.setKeyListener(null);
v.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setFocusable(true);
v.setFocusableInTouchMode(true);
v.setEnabled(true);
v.setSelection(v.getText().length());
}
});
xml:
android:lines="1"
android:scrollHorizontally="true"
android:ellipsize="end"
android:singleLine="true"