2016-12-22 5 views
0

Я новичок в программировании на Android. Я реализую простой калькулятор, и я сталкиваюсь с проблемами с горизонтальным просмотром прокрутки. Я использую текст редактирования в виде горизонтальной прокрутки. Он работает полностью нормально в первый раз, но как только я очищаю экран, он сохраняет лимит прокрутки, что означает, что даже если на экране есть несколько цифр, я могу прокручивать больше, чем это. То, что я хочу достичь, - это ограничить его прокрутку. Ниже приведены снимки экрана и XML-код.Горизонтальный просмотр прокрутки, прокрутка Проблема Android

First Time

[второй раз] [2]

It is still scroll-able even though there are few digits

<HorizontalScrollView 
     android:id="@+id/hsvMain" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="end" 
     android:scrollbars="none" 
    > 

     <EditText 

      android:id="@+id/mainEditText" 
      android:paddingTop="10dp" 
      android:paddingRight="2dp" 
      android:background="#ffff" 
      android:ellipsize="end" 
      android:focusable="false" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:textSize="55sp" 

      android:textStyle="bold" 

      /> 

    </HorizontalScrollView> 
+0

попробуйте установить для edittext layout_width @ height to wrap_content –

ответ

0

Попробуйте изменить вокруг макета высота/ширина атрибуты, сделать HorizontalScrollViewlayout_width="fill_parent" и EditTextlayout_width="wrap_content" и layout_height="wrap_content"

<HorizontalScrollView 
     android:id="@+id/hsvMain" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="end" 
     android:scrollbars="none"> 

     <EditText 
      android:id="@+id/mainEditText" 
      android:paddingTop="10dp" 
      android:paddingRight="2dp" 
      android:background="#ffff" 
      android:ellipsize="end" 
      android:focusable="false" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textSize="55sp" 
      android:textStyle="bold"/> 

</HorizontalScrollView> 

Edit:

Причина, по которой не работал раньше, потому что вы говорили о scrollview обернуть содержание независимо от размера EditText, поэтому он будет прокручивать только вокруг EditText. Но если вы укажете ScrollView на match_parent, это будет всегда ширина экрана, а затем EditText может прокручиваться в родительском (ScrollView) независимо от размера.

Примечание: использовать match_parent вместо fill_parent, fill_parent теперь осуждается. (Хотя все еще работает)

+0

Спасибо большое :) Не могли бы вы объяснить, почему он сделал трюк и что было неправильно раньше? Еще раз спасибо большое –

+0

Рад помочь вам. –