2014-01-25 3 views
1

Я хочу создать простой калькулятор для Android и иметь проблемы с отображением длинных уравнений. Все в порядке (одна строка, горизонтальная прокрутка), но я не вижу конца строки (всегда вижу начало строки). Можно ли прокручивать его автоматически до последнего персонажа?EditText автоматически до последнего символа?

Example: 

Hello there 
...lo there 
    -------- 

-

<EditText 
     android:id="@+id/etDisplay" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="4" 
     android:clickable="false" 
     android:cursorVisible="false" 
     android:ems="10" 
     android:focusable="false" 
     android:focusableInTouchMode="false" 
     android:gravity="right" 
     android:textSize="15sp" 
     android:scrollHorizontally="true" 
     android:singleLine="true" 
     android:ellipsize="end" 
     android:hint="0." /> 

Изображение: SimpleCalc image

+0

Вы установили 'ellipsize =" end "'. Это ваше намерение? В этом примере показан эллипсис. – Simon

+0

Даже с 'ellipsize =" start "' нет разницы –

ответ

1

Попробуйте это:

EditText editText = (EditText) findViewById(R.id.editText1); 
editText.setSelection(editText.getText().length()); 
+0

Спасибо, он отлично работает: только код D намного длиннее. Если есть другой способ установить это в xml, пожалуйста, дайте мне знать. –

+0

Добро пожаловать. :) – luwionline

0

"официальный" способ сделать это (как это было предложено в комментариях), с помощью атрибута ellipsize, установленного на end. Если он не работает, возможно, это связано с тем, что этот атрибут немного сложный, а это значит, что для работы есть некоторые обстоятельства (например, singleLine=true).

Возможно, вы захотите увидеть this, это помогло мне, когда у меня возникла эта проблема.

Смежные вопросы