android - 调整调整大小和滚动视图不与edittext一起工作

问题描述:

我有这种形式,当软键盘打开时,屏幕不会调整大小,也不会调整它。android - 调整调整大小和滚动视图不与edittext一起工作

我真的很想知道为什么。为什么我的视图不滚动?为什么不调整大小?

这是我的xml:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 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" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:fitsSystemWindows="true" 

> 


<ScrollView 
    android:layout_width="match_parent" 
    android:fillViewport="true" 
    android:layout_height="wrap_content"> 

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

     <RelativeLayout 
      android:id="@+id/relativeLayout" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:background="#fff"> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="10dp" 
       android:background="@android:color/transparent" 
       android:visibility="invisible" 
       app:navigationIcon="@drawable/ic_left_arrow" 
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> 

      </android.support.v7.widget.Toolbar> 

      <ImageView 
       android:id="@+id/imageView9" 
       android:layout_width="180dp" 
       android:layout_height="70dp" 
       android:layout_alignParentLeft="true" 
       android:layout_alignParentStart="true" 
       android:layout_below="@+id/toolbar" 
       android:layout_gravity="center_vertical|center_horizontal" 
       android:layout_marginLeft="10dp" 
       android:src="@drawable/logo" /> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignLeft="@+id/imageView9" 
       android:layout_alignParentEnd="true" 
       android:layout_alignParentRight="true" 
       android:layout_alignStart="@+id/imageView9" 
       android:layout_below="@+id/imageView9" 
       android:layout_marginLeft="15dp" 
       android:paddingBottom="6dp" 
       android:text="OFERTAR OU \nSIMULAR LANCE" 
       android:textColor="#eb262a" 
       android:textSize="20sp" 
       android:textStyle="bold" /> 

     </RelativeLayout> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 

      <LinearLayout 
       android:id="@+id/linearLayout2" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_margin="15dp" 
       android:orientation="horizontal"> 


       <RadioButton 
        android:id="@+id/livre" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" 
        android:text="Lance Livre" /> 

       <RadioButton 
        android:id="@+id/fixo" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" 
        android:text="Lance Fixo" /> 
      </LinearLayout> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_below="@+id/linearLayout2" 
       android:layout_marginLeft="15dp" 
       android:layout_marginRight="15dp" 
       android:orientation="vertical"> 

       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_marginTop="15dp" 
        android:orientation="horizontal"> 

        <RelativeLayout 
         android:layout_width="match_parent" 
         android:layout_height="match_parent" 
         android:layout_weight="1"> 

         <android.support.design.widget.TextInputLayout 
          android:id="@+id/text_input_layout" 
          android:layout_width="match_parent" 
          android:layout_height="wrap_content" 
          android:hint="Percentual do lance"> 

          <EditText 
           android:id="@+id/percent" 
           android:layout_width="wrap_content" 
           android:layout_height="wrap_content" 
           android:layout_toLeftOf="@+id/textView12" 
           android:layout_toStartOf="@+id/textView12" 
           android:ems="10" 
           android:inputType="numberDecimal" 
           android:nextFocusDown="@+id/value" 
           android:textSize="14dp" /> 

         </android.support.design.widget.TextInputLayout> 

         <TextView 
          android:id="@+id/textView12" 
          android:layout_width="25dp" 
          android:layout_height="wrap_content" 
          android:layout_alignParentEnd="true" 
          android:layout_alignParentRight="true" 
          android:layout_centerVertical="true" 
          android:text="%" 
          android:textColor="#000" 
          android:textSize="16dp" 
          android:textStyle="bold" /> 

        </RelativeLayout> 

        <RelativeLayout 
         android:layout_width="match_parent" 
         android:layout_height="match_parent" 
         android:layout_weight="1"> 

         <android.support.design.widget.TextInputLayout 
          android:id="@+id/text_input_layout2" 
          android:layout_width="match_parent" 
          android:layout_height="wrap_content" 
          android:hint="Valor do lance"> 

          <EditText 
           android:id="@+id/value" 
           android:layout_width="match_parent" 
           android:layout_height="wrap_content" 
           android:ems="10" 
           android:inputType="numberDecimal" 
           android:textSize="14dp" /> 

         </android.support.design.widget.TextInputLayout> 
        </RelativeLayout> 

       </LinearLayout> 

       <android.support.design.widget.TextInputLayout 
        android:id="@+id/text_input_layout3" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_marginTop="20dp" 
        android:hint="Número do Protocolo"> 

        <EditText 
         android:id="@+id/protocol" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:ems="10" 
         android:inputType="number" 
         android:textSize="14dp" /> 
       </android.support.design.widget.TextInputLayout> 
      </LinearLayout> 
     </RelativeLayout> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_marginTop="30dp" 
      android:orientation="horizontal" 
      android:weightSum="10"> 

      <Button 
       android:id="@+id/limpar" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_weight="5" 
       android:backgroundTint="@android:color/holo_red_light" 
       android:text="Limpar" 
       android:textColor="#ffffff" 
       android:visibility="visible" /> 

      <Button 
       android:id="@+id/simular" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_weight="5" 
       android:backgroundTint="@android:color/holo_red_light" 
       android:text="Simular" 
       android:textColor="#ffffff" 
       android:visibility="visible" /> 

      <Button 
       android:id="@+id/registrar" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_weight="5" 
       android:backgroundTint="@android:color/holo_red_light" 
       android:text="Registrar" 
       android:textColor="#ffffff" 
       android:visibility="gone" /> 
     </LinearLayout> 

     <TextView 
      android:id="@+id/label" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_marginTop="20dp" 
      android:text="Lance Fixo é definido em 30%" 
      android:textAlignment="center" 
      android:textColor="#000" 
      android:textSize="16sp" 
      android:visibility="gone" /> 
    </LinearLayout> 
</ScrollView> 
</LinearLayout> 

我已经尝试设置match_parent以滚动型。 而我在清单android:windowSoftInputMode="stateAlwaysHidden|adjustResize"中有这个。

加入这一行活动要调整上打开软键盘:

android:windowSoftInputMode="adjustResize" 

更新后:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 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" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:orientation="vertical" 
       android:fitsSystemWindows="true" 

    > 


    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fillViewport="true"> 

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

      <RelativeLayout 
       android:id="@+id/relativeLayout" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="#fff"> 

       <android.support.v7.widget.Toolbar 
        android:id="@+id/toolbar" 
        android:layout_width="match_parent" 
        android:layout_height="10dp" 
        android:background="@android:color/transparent" 
        android:visibility="invisible" 
        app:navigationIcon="@drawable/ic_left_arrow" 
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> 

       </android.support.v7.widget.Toolbar> 

       <ImageView 
        android:id="@+id/imageView9" 
        android:layout_width="180dp" 
        android:layout_height="70dp" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true" 
        android:layout_below="@+id/toolbar" 
        android:layout_gravity="center_vertical|center_horizontal" 
        android:layout_marginLeft="10dp" 
        android:src="@drawable/logo"/> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignLeft="@+id/imageView9" 
        android:layout_alignParentEnd="true" 
        android:layout_alignParentRight="true" 
        android:layout_alignStart="@+id/imageView9" 
        android:layout_below="@+id/imageView9" 
        android:layout_marginLeft="15dp" 
        android:paddingBottom="6dp" 
        android:text="OFERTAR OU \nSIMULAR LANCE" 
        android:textColor="#eb262a" 
        android:textSize="20sp" 
        android:textStyle="bold"/> 

      </RelativeLayout> 

      <RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="0dp" 
       android:layout_weight="1"> 

       <LinearLayout 
        android:id="@+id/linearLayout2" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_margin="15dp" 
        android:orientation="horizontal"> 


        <RadioButton 
         android:id="@+id/livre" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_weight="1" 
         android:text="Lance Livre"/> 

        <RadioButton 
         android:id="@+id/fixo" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_weight="1" 
         android:text="Lance Fixo"/> 
       </LinearLayout> 

       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_below="@+id/linearLayout2" 
        android:layout_marginLeft="15dp" 
        android:layout_marginRight="15dp" 
        android:orientation="vertical"> 

        <LinearLayout 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:layout_marginTop="15dp" 
         android:orientation="horizontal"> 

         <RelativeLayout 
          android:layout_width="match_parent" 
          android:layout_height="match_parent" 
          android:layout_weight="1"> 

          <android.support.design.widget.TextInputLayout 
           android:id="@+id/text_input_layout" 
           android:layout_width="match_parent" 
           android:layout_height="wrap_content" 
           android:hint="Percentual do lance"> 

           <EditText 
            android:id="@+id/percent" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:layout_toLeftOf="@+id/textView12" 
            android:layout_toStartOf="@+id/textView12" 
            android:ems="10" 
            android:inputType="numberDecimal" 
            android:nextFocusDown="@+id/value" 
            android:textSize="14dp"/> 

          </android.support.design.widget.TextInputLayout> 

          <TextView 
           android:id="@+id/textView12" 
           android:layout_width="25dp" 
           android:layout_height="wrap_content" 
           android:layout_alignParentEnd="true" 
           android:layout_alignParentRight="true" 
           android:layout_centerVertical="true" 
           android:text="%" 
           android:textColor="#000" 
           android:textSize="16dp" 
           android:textStyle="bold"/> 

         </RelativeLayout> 

         <RelativeLayout 
          android:layout_width="match_parent" 
          android:layout_height="match_parent" 
          android:layout_weight="1"> 

          <android.support.design.widget.TextInputLayout 
           android:id="@+id/text_input_layout2" 
           android:layout_width="match_parent" 
           android:layout_height="wrap_content" 
           android:hint="Valor do lance"> 

           <EditText 
            android:id="@+id/value" 
            android:layout_width="match_parent" 
            android:layout_height="wrap_content" 
            android:ems="10" 
            android:inputType="numberDecimal" 
            android:textSize="14dp"/> 

          </android.support.design.widget.TextInputLayout> 
         </RelativeLayout> 

        </LinearLayout> 

        <android.support.design.widget.TextInputLayout 
         android:id="@+id/text_input_layout3" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:layout_marginTop="20dp" 
         android:hint="Número do Protocolo"> 

         <EditText 
          android:id="@+id/protocol" 
          android:layout_width="match_parent" 
          android:layout_height="wrap_content" 
          android:ems="10" 
          android:inputType="number" 
          android:textSize="14dp"/> 
        </android.support.design.widget.TextInputLayout> 
       </LinearLayout> 
      </RelativeLayout> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="15dp" 
       android:layout_marginRight="15dp" 
       android:layout_marginTop="30dp" 
       android:orientation="horizontal" 
       android:weightSum="10"> 

       <Button 
        android:id="@+id/limpar" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_weight="5" 
        android:backgroundTint="@android:color/holo_red_light" 
        android:text="Limpar" 
        android:textColor="#ffffff" 
        android:visibility="visible"/> 

       <Button 
        android:id="@+id/simular" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_weight="5" 
        android:backgroundTint="@android:color/holo_red_light" 
        android:text="Simular" 
        android:textColor="#ffffff" 
        android:visibility="visible"/> 

       <Button 
        android:id="@+id/registrar" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_weight="5" 
        android:backgroundTint="@android:color/holo_red_light" 
        android:text="Registrar" 
        android:textColor="#ffffff" 
        android:visibility="gone"/> 
      </LinearLayout> 

      <TextView 
       android:id="@+id/label" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="15dp" 
       android:layout_marginRight="15dp" 
       android:layout_marginTop="20dp" 
       android:text="Lance Fixo é definido em 30%" 
       android:textAlignment="center" 
       android:textColor="#000" 
       android:textSize="16sp" 
       android:visibility="gone"/> 
     </LinearLayout> 
    </ScrollView> 
</LinearLayout> 
+0

已经在我的清单中有这一个。 'android:windowSoftInputMode =“stateAlwaysHidden | adjustResize”' – LMaker

+0

@LuanGabriel我的帖子已更新,测试 –

如果要调整活动时键盘弹出你需要在清单文件中指定一行代码在活动标记内:

android:windowSoftInputMode="adjustResize" 

请参阅此链接了解更多详情:https://developer.android.com/training/keyboard-input/visibility.html

你甚至可以尝试调整屏幕活动把下面的代码在你活动onCreate方法:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE|WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); 

希望这应该帮助!

+0

已经在我的清单中有这个。 android:windowSoftInputMode =“stateAlwaysHidden | adjustResize” – LMaker

+0

尝试在xml文件中更新这行代码android:fitsSystemWindows =“false” –

+0

没有任何变化 – LMaker

我发现了这个问题。我使用的是<item name="android:windowFullscreen">true</item> ,当全屏标志激活时,resize不起作用。

如果您对应用程序或活动使用“FULLSCREEN”主题,那么“调整大小”功能将不起作用,您应该在没有“FULLSCREEN”的情况下使用“NoTitleBar”主题。 它将工作100%。 你应该使用“RelativeLayout”代替父布局(主线性布局)。

+0

雅,我已经注意到花了一些时间试图解决这个:( – LMaker