У меня есть EdiText
в нижней части моего вопроса layout.The у меня был в том, что, когда он получает фокус сдвигов экрана вверх, чтобы освободить место для мягкого keyboard.To решить это я добавилSoftKeyboard скрывает EditText
android:windowSoftInputMode="adjustResize"
внутри моей декларации Activity
в manifest. Теперь проблема в том, что edittext скрывается за программной клавиатурой, хотя экран не сдвигается. Если вместо этого я поставил
android:windowSoftInputMode="adjustPan"
то главное окно своей деятельности смещает вверх, которые я не хочу. Как я могу разрешить это так, что когда EdiText
получает основное окно фокуса, НЕ сдвигается вверх, чтобы освободить место для мягкой клавиатуры, но основное окно изменяется, включая EdiText
, так что клавиатура находится ниже EdiText
, как видно из многих приложений.
Layout
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background_feed">
<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_gravity="center_horizontal|center_vertical" />
<ListView
android:id="@+id/comments"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F7F7F7"
android:paddingTop="10dp"
android:layout_above="@+id/border_view_comment"
android:divider="@android:color/transparent"
android:dividerHeight="10dp"
android:paddingBottom="10dp"
android:clipToPadding="false"
android:scrollbarStyle="outsideOverlay" />
<TextView
android:id="@+id/empty_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="@string/no_comment_msg"
android:visibility="gone"/>
<View
android:id="@+id/border_view_comment"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_above="@+id/commentlayout"
android:background="#C7C7C7"
android:visibility="gone"/>
<RelativeLayout
android:id="@+id/commentlayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@drawable/comment_box_shadow"
android:padding="10dp">
<ImageView
android:id="@+id/commentor_image"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginRight="15dp"
/>
<ImageView
android:id="@+id/clickPostComment"
android:layout_width="30dp"
android:layout_height="45dp"
android:layout_alignParentRight="true"
android:src="@drawable/post"
android:textColor="@color/white" />
<EditText
android:id="@+id/commentsPost"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_alignTop="@id/commentor_image"
android:layout_marginRight="10dp"
android:layout_toLeftOf="@id/clickPostComment"
android:layout_toRightOf="@id/commentor_image"
android:background="@drawable/comment_edittext_bg"
android:hint="Comments"
android:singleLine="true"
android:maxLength="140"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textColor="@color/title_gray"
android:textColorHint="#d5d5d5"
android:textSize="15sp" />
<ImageView
android:layout_width="25dp"
android:layout_height="30dp"
android:layout_alignTop="@id/commentsPost"
android:layout_marginLeft="10dp"
android:layout_marginRight="-2dp"
android:layout_toLeftOf="@id/commentsPost"
android:scaleType="fitStart"
android:src="@drawable/comment_shape" />
</RelativeLayout>
</RelativeLayout>
если я использую ScrollView, меняет весь дизайн макета ... Первоначально мой макет состоит из списка, а ниже списка есть поле комментариев (editt ext) .. если я поместил весь макет внутри прокрутки, тогда мой edittext переместится в верхнюю часть экрана, и я не могу просмотреть список. Я уже использую относительный макет. Я отправил в вопрос изначально мой макет –
и что почему вы используете scrollView, вы не можете видеть все свое представление, когда клавиатура появляется, так что все, что вы можете сделать, это скрыть одно из видов прокруткой, и это логичный способ сделать это –
, если я использую scrollview, я могу видеть только макет edittext ('commentlayout', как в xml, о котором идет речь) независимо от того, скрыта или показана программная клавиатура, и что также поверх экрана. Почему это происходит? –