What does Android isScrollContainer do? (ScrollView, TextView, EditText)

Android FAQ: What does the Android isScrollContainer XML setting do?

From the Android docs:

Set this if the view will serve as a scrolling container, meaning that it can be resized to shrink its overall window so that there will be space for an input method. If not set, the default value will be true if “scrollbars” has the vertical scrollbar set, else it will be false.

Must be a boolean value, either “true” or “false”.

You set isScrollContainer in the definition of an XML widget like this:

android:isScrollContainer = "true"
android:isScrollContainer = "false"

As a more complete example, I just created an Android EditText component like this:

<EditText
    android:id="@+id/quoteTextArea"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textMultiLine"
    android:isScrollContainer="true"
    android:editable="true"
    android:enabled="true"
    android:minLines="6"
    android:maxLines="6"
    android:hint="Type your description here"
    android:textIsSelectable="true"
    android:focusable="true"
    />

isScrollContainer is explained like this on SO:

A scrolling container is one where the size of the container is independent of its content. For instance you can make a ScrollView or ListView of height 100 pixels, but you can fit as much content in as you want.

If a container is scrollable, then Android knows it can shrink the size of the container without rendering parts of the content of the container inaccessible (since the user can just scroll down to see things not on screen). It uses this for when the SoftKeyboard is opened -- if a container is scrollable it will shrink it as much as possible in an attempt to keep all of the elements on screen.

In my example I wanted an EditText field with exactly six lines, and because of my XML definition, that field will scroll if the user types more than that.