0

我有一个RelativeLayout saveCancelBar,它包含底部的两个按钮(“保存标题”和“取消”)位置,理想情况下应通过单击我EditText pageTitle。在AndroidManifest我作为活动的windowSoftInputModeadjustResize,因为我认为这会自动在点击pageTitle和显示软键盘上移saveCancelBar但遗憾的是没有。尽管将windowSoftInputMode设置为“adjustResize”,但在显示键盘时RelativeLayout不会自动调整

奇怪的是,saveCancelBar调整它的位置时,它覆盖另一个RelativeLayout(在我的活动中,它覆盖了photoStoryNavbar)。

这就是屏幕的样子,你可以看到saveCancelBar停留在底部,被软键盘覆盖。

enter image description here

在活动的另一部分,saveCancelBar自动调整这样的立场:

enter image description here

我不知道为什么没有调整在第一个屏幕喜欢它的位置因为两个屏幕都是同一个活动的一部分并且使用相同的onClickListener用于pageTitle

The source code for the activity is here。这是我的活动XML:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    tools:ignore="missingPrefix" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@color/white" 
    tools:context="app.travelers.activity.AddPhotoActivity"> 

    <LinearLayout 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@color/white" 
     android:orientation="horizontal"> 

     <TextView 
      android:id="@+id/back_arrow" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/arrow_left" 
      android:textSize="20sp" 
      android:clickable="true" 
      android:textColor="@color/black" /> 

    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/header" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="15dp" 
     android:layout_marginStart="10dp" 
     android:layout_marginEnd="10dp" 
     android:layout_below="@id/toolbar" 
     android:orientation="vertical"> 

     <EditText 
      android:id="@+id/title" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:minHeight="36dp" 
      android:background="@color/transparent" 
      android:maxLength="90" 
      android:privateImeOptions="nm" 
      android:inputType="textNoSuggestions|textMultiLine" 
      android:cursorVisible="false" 
      app:autoSizeTextType="uniform" 
      app:autoSizeMinTextSize="16sp" 
      app:autoSizeMaxTextSize="24sp" 
      app:autoSizeStepGranularity="4sp" 
      android:textColor="@color/grey700"/> 

     <View 
      android:id="@+id/thin_border" 
      android:layout_width="100dp" 
      android:layout_height="2dp" 
      android:background="@color/grey700" 
      /> 

     <LinearLayout 
      android:id="@+id/sort" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/header" 
      android:layout_marginTop="20dp" 
      android:clickable="true" 
      android:gravity="bottom" 
      android:orientation="horizontal" 
      android:visibility="gone"> 

      <TextView 
       android:id="@+id/sort_text" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginEnd="3dp" 
       android:text="List View" 
       android:textColor="@color/grey700" 
       android:textSize="14sp"/> 

      <TextView 
       android:id="@+id/sort_icon" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="@string/chevron_circle_down" 
       android:textColor="@color/grey700" 
       android:textSize="14sp"/> 

     </LinearLayout> 

    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:id="@+id/linearLayout"> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/add_photo_layout" 
      android:layout_marginTop="150dp"> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="vertical" 
       android:gravity="center" 
       android:layout_centerInParent="true"> 

       <TextView 
        android:id="@+id/placeholder" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_marginStart="40dp" 
        android:layout_marginEnd="40dp" 
        android:layout_marginBottom="30dp" 
        android:background="@null" 
        android:minLines="0" 
        android:text="Add your first travel moment to your story" 
        android:textAlignment="center" 
        android:textColor="@color/black" 
        android:textSize="20sp" /> 

       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:orientation="vertical" 
        android:gravity="center"> 

        <LinearLayout 
         android:id="@+id/capture_photo_button" 
         android:layout_marginBottom="15dp" 
         android:paddingStart="5dp" 
         android:paddingEnd="5dp" 
         android:paddingTop="10dp" 
         android:paddingBottom="10dp" 
         android:layout_width="170dp" 
         android:layout_height="wrap_content" 
         android:orientation="horizontal" 
         android:gravity="center|center_vertical" 
         android:background="@drawable/green_pill_thick"> 

         <TextView 
          android:id="@+id/capture_photo_icon" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:textSize="18sp" 
          android:text="@string/camera" 
          android:layout_gravity="center_horizontal|center_vertical" 
          android:textColor="@color/green500" 
          android:layout_marginEnd="5dp"/> 

         <TextView 
          android:id="@+id/capture_photo_text" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="Capture Moment" 
          android:layout_gravity="center_horizontal|center_vertical" 
          android:textColor="@color/green500" 
          android:textAlignment="center" 
          android:textSize="14sp"/> 

        </LinearLayout> 

        <LinearLayout 
         android:id="@+id/add_photo_button" 
         android:paddingTop="10dp" 
         android:paddingBottom="10dp" 
         android:paddingStart="5dp" 
         android:paddingEnd="5dp" 
         android:layout_width="170dp" 
         android:layout_height="wrap_content" 
         android:orientation="horizontal" 
         android:gravity="center|center_vertical" 
         android:background="@drawable/blue_pill_thick"> 

         <TextView 
          android:id="@+id/add_photo_icon" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:textSize="18sp" 
          android:text="@string/photo" 
          android:layout_gravity="center_horizontal|center_vertical" 
          android:textColor="@color/blue500" 
          android:layout_marginEnd="5dp"/> 

         <TextView 
          android:id="@+id/add_photo_text" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="Add from Gallery" 
          android:layout_gravity="center_horizontal|center_vertical" 
          android:textColor="@color/blue500" 
          android:textAlignment="center" 
          android:textSize="14sp"/> 

        </LinearLayout> 

       </LinearLayout> 

      </LinearLayout> 

     </RelativeLayout> 

     <RelativeLayout 
      android:id="@+id/list_view_layout" 
      android:visibility="gone" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:paddingTop="150dp" 
      android:paddingBottom="50dp"> 

      <ListView 
       android:id="@+id/list_view_container" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:stackFromBottom="true" 
       android:transcriptMode="alwaysScroll"> 

      </ListView> 

     </RelativeLayout> 

    </LinearLayout> 


    <!--Navbar--> 
    <LinearLayout 
     android:id="@+id/photo_story_navbar" 
     android:layout_width="match_parent" 
     android:layout_height="56dp" 
     android:background="@drawable/navbar" 
     android:layout_alignParentBottom="true" 
     android:orientation="horizontal" 
     android:visibility="gone"> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_vertical" 
      android:gravity="right" 
      android:paddingStart="15dp" 
      android:orientation="horizontal" 
      android:layout_marginEnd="10dp"> 

      <!-- Take Photo Button --> 
      <LinearLayout 
       android:id="@+id/nav_capture_button" 
       android:layout_width="84dp" 
       android:layout_height="32dp" 
       android:paddingStart="10dp" 
       android:orientation="horizontal" 
       android:background="@drawable/green_pill_button" 
       android:layout_gravity="center_vertical" 
       android:gravity="center|center_vertical" 
       android:paddingEnd="10dp" 
       android:clickable="true"> 

       <TextView 
        android:id="@+id/nav_capture_icon" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textSize="14sp" 
        android:text="@string/camera" 
        android:textColor="@color/green500" 
        android:layout_gravity="center_horizontal|center_vertical" 
        android:paddingEnd="5dp"/> 

       <TextView 
        android:id="@+id/nav_capture_text" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Capture" 
        android:layout_gravity="center_horizontal|center_vertical" 
        android:textColor="@color/green500" 
        android:textAlignment="center" 
        android:textSize="12sp"/> 

      </LinearLayout> 

      <!-- Add from Gallery Button --> 
      <LinearLayout 
       android:id="@+id/nav_gallery_button" 
       android:layout_width="84dp" 
       android:layout_height="32dp" 
       android:paddingStart="10dp" 
       android:layout_marginLeft="5dp" 
       android:orientation="horizontal" 
       android:background="@drawable/blue_pill" 
       android:layout_gravity="center_vertical" 
       android:gravity="center|center_vertical" 
       android:paddingEnd="10dp" 
       android:clickable="true"> 

       <TextView 
        android:id="@+id/nav_gallery_icon" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textSize="14sp" 
        android:text="@string/photo" 
        android:textColor="@color/blue500" 
        android:layout_gravity="center_horizontal|center_vertical" 
        android:paddingEnd="5dp"/> 

       <TextView 
        android:id="@+id/nav_gallery_text" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Gallery" 
        android:layout_gravity="center_horizontal|center_vertical" 
        android:textColor="@color/blue500" 
        android:textAlignment="center" 
        android:textSize="12sp"/> 

      </LinearLayout> 

     </LinearLayout> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_vertical" 
      android:gravity="right" 
      android:paddingEnd="15dp" 
      android:orientation="horizontal"> 

      <!-- Review button --> 
      <LinearLayout 
       android:id="@+id/nav_review_button" 
       android:layout_width="84dp" 
       android:layout_height="32dp" 
       android:paddingStart="10dp" 
       android:orientation="horizontal" 
       android:background="@drawable/red_500_pill" 
       android:layout_gravity="right" 
       android:gravity="center|center_vertical" 
       android:paddingEnd="10dp" 
       android:clickable="true"> 

       <TextView 
        android:id="@+id/nav_review_text" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Review" 
        android:layout_gravity="center_horizontal|center_vertical" 
        android:textColor="@color/red500" 
        android:textAlignment="center" 
        android:textSize="12sp"/> 

       <TextView 
        android:id="@+id/nav_review_icon" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textSize="14sp" 
        android:text="@string/angle_double_right" 
        android:textColor="@color/red500" 
        android:layout_gravity="center_horizontal|center_vertical" 
        android:paddingStart="5dp"/> 

      </LinearLayout> 

     </LinearLayout> 

    </LinearLayout> 

    <RelativeLayout 
     android:id="@+id/save_cancel_bar" 
     android:layout_width="match_parent" 
     android:layout_height="56dp" 
     android:background="@drawable/navbar" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentStart="true"> 

     <RelativeLayout 
      android:id="@+id/save_title_btn" 
      android:clickable="true" 
      android:layout_width="84dp" 
      android:layout_height="32dp" 
      android:layout_alignParentRight="true" 
      android:background="@drawable/blue_pill" 
      android:layout_marginRight="15dp" 
      android:layout_marginTop="10dp"> 

      <TextView 
       android:id="@+id/save_title_text" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerInParent="true" 
       android:layout_gravity="fill" 
       android:text="Save Title" 
       android:textSize="12sp" 
       android:textColor="#2196F3"/> 

     </RelativeLayout> 

     <RelativeLayout 
      android:id="@+id/cancel_title_btn" 
      android:layout_width="84dp" 
      android:layout_height="32dp" 
      android:clickable="true" 
      android:layout_alignParentRight="true" 
      android:background="@drawable/grey_700_pill" 
      android:layout_marginRight="105dp" 
      android:layout_marginTop="10dp" 
      android:layout_marginBottom="10dp"> 

      <TextView 
       android:id="@+id/cancel_title_text" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerInParent="true" 
       android:text="Cancel" 
       android:layout_gravity="fill" 
       android:textSize="12sp" 
       android:textColor="#616161" /> 

     </RelativeLayout> 

    </RelativeLayout> 


</RelativeLayout> 

回答

1

加入这一行到清单文件

<activity ............... android:configChanges="keyboardHidden|orientation|screenSize|locale|layoutDirection" ........./>

+0

我做到了,但它仍然没有解决我的问题。 – Bargain23

0

变化adjustResize到adjustPan和stateHidden。

机器人:windowSoftInputMode = “stateHidden | adjustPan”

+0

我试过了,但问题仍然存在。我不认为'android:windowSoftInputMode'会影响屏幕。 – Bargain23

相关问题