Так что я делаю текстовое приложение, чтобы возиться с различными вещами в программировании в андроиде и еще не столкнулся с проблемой, что я не могу найти ответ для онлайн. Я пробовал несколько разных ответов с этого сайта и других форумов по программированию на Android, и ни один из них не работал каждый раз. Есть несколько примеров, которые работают каждый раз, тогда как другие примеры будут работать только один раз. Это единственное, что осталось в приложении, которое мне нужно выяснить для функциональности пользовательского интерфейса.Сделать прокруткуПросмотреть прокрутку вниз, когда мягкая клавиатура появляется в Android?
У меня есть файл макет XML как таковые:
<RelativeLayout
android:id="@+id/rlActionBar2"
android:layout_width="fill_parent"
android:layout_height="44dp" >
</RelativeLayout>
<RelativeLayout
android:id="@+id/rlAddContact"
android:layout_width="fill_parent"
android:layout_height="44dp"
android:layout_below="@+id/rlActionBar2"
android:background="@drawable/new_message_background"
android:padding="0dp" >
<TextView
android:id="@+id/tvTo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="8dp"
android:text="@string/text_to"
android:textColor="#7F7F7F"
android:textSize="17sp" />
<EditText
android:id="@+id/txtContact"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@id/tvTo"
android:layout_marginLeft="6dp"
android:layout_toLeftOf="@+id/btnAddContact"
android:layout_toRightOf="@id/tvTo"
android:background="#00000000"
android:hint="@string/contact_name"
android:inputType="textPersonName"
android:maxLines="1"
android:textColor="#000000"
android:textSize="16sp" >
</EditText>
<Button
android:id="@+id/btnAddContact"
android:layout_width="28.5dp"
android:layout_height="28.5dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginLeft="3dp"
android:layout_marginRight="3dp"
android:background="@drawable/add_button"
android:padding="0dp" />
</RelativeLayout>
<ScrollView
android:id="@+id/svMessageView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@+id/rlNewMessage"
android:layout_alignParentLeft="true"
android:layout_below="@id/rlAddContact"
android:background="#DBE2ED" >
<LinearLayout
android:id="@+id/llMessages"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#DBE2ED"
android:isScrollContainer="true"
android:orientation="vertical"
android:paddingTop="11dp" >
</LinearLayout>
</ScrollView>
<RelativeLayout
android:id="@+id/rlNewMessage"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@drawable/messagebar_background"
android:gravity="bottom"
android:padding="0dp" >
<Button
android:id="@+id/btnAttatchment"
android:layout_width="26dp"
android:layout_height="26dp"
android:layout_alignBottom="@+id/txtMessageBox"
android:layout_marginLeft="6dp"
android:background="@drawable/camera_icon" />
<EditText
android:id="@+id/txtMessageBox"
android:layout_width="253dp"
android:layout_height="wrap_content"
android:layout_marginBottom="6dp"
android:layout_marginLeft="6dp"
android:layout_marginTop="8dp"
android:layout_toRightOf="@id/btnAttatchment"
android:background="@drawable/messagebox_background"
android:hint="@string/app_name"
android:inputType="textMultiLine"
android:maxLines="6"
android:minHeight="26dp"
android:textSize="17sp" >
</EditText>
<Button
android:id="@+id/btnSend"
android:layout_width="58dp"
android:layout_height="26dp"
android:layout_alignBottom="@id/txtMessageBox"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:background="@drawable/send_button"
android:text="@string/send_button"
android:textAlignment="center"
android:textColor="#FFFFFF"
android:textSize="14sp"
android:textStyle="bold" />
</RelativeLayout>
</RelativeLayout>
Моя проблема заключается в получении Scrollview svMessageView автоматически прокручивать до дна каждый раз, когда экранная клавиатура приходит на экран для пользователя тип. В RelativeLayout rlNewMessage перемещается вверх, когда появится клавиатура, а в нижней части svMessageView установлен придерживаться верхней части rlNewMessage и что работает, но я не могу получить svMessageView для прокрутки снизу сам.
Изображения:
После мягких нагрузок клавиатуры (не то, что я хочу): http://imgur.com/8Kptge3
После мягких нагрузок клавиатуры (то, что я хочу): http://imgur.com/BcDcFPY
Если необходима дополнительная информация для вас фигуры вне проблемы, дайте мне знать, и я опубликую его как можно скорее.
Я вижу, где мой вопрос запутывает то, чего я хочу достичь. Сейчас все работает нормально для приложения прямо сейчас. Мне просто нужно выяснить код, необходимый для прокрутки scrollview в нижней части (чтобы показать последнее сообщение) каждый раз, когда на экран выводится мягкая клавиатура. Я получаю скриншоты для публикации, так как это, вероятно, прояснит мой вопрос. – vlllc
@vlllc, есть ли у вас какая-то тренировка для вашего вопроса ?? cos у меня есть аналогичный вопрос) –