弹出软键盘时如何仅隐藏部分布局

我的布局分为3个部分(请参见屏幕截图)。当出现软键盘时,它会部分隐藏第1部分,并完全隐藏第2部分。但是,我需要它仅隐藏第2部分,并使第1和第3部分完全可见。我尝试使用ScrollView作为最外面的视图,但是当键盘弹出而不是向上推时,它会导致部分3重叠。您能提出一些解决方案吗?

布局代码:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true">

    <LinearLayout 
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/formWeHandelswareColor"
        android:weightSum="10">

        <TableLayout
            android:id="@+id/Anlieferungkopf"
            android:layout_width="match_parent"
            android:layout_weight="2.5"
            android:layout_height="0dp">

            <TableRow
                android:layout_height="0dp"
                android:layout_weight="1">
                <TextView
                    android:layout_column="1"
                    android:textColor="@android:color/black"
                    android:text="Scan NVE"
                    android:layout_gravity="center_vertical"/>
                <EditText
                    android:id="@+id/editTextScanNve"
                    android:layout_column="2"
                    android:textColor="@android:color/black"
                    android:width="120dp"
                    android:layout_gravity="bottom"
                    android:layout_span="2"
                    android:singleLine="true"
                    android:textSize="14dip" />  
                <TextView
                    android:layout_column="4"   
                    android:textColor="@android:color/black"                
                    android:text="Ord. Lief."
                    android:layout_gravity="center_vertical"/>
                <CheckBox
                    android:id="@+id/checkBoxaccepted"
                    android:layout_column="5"
                    android:layout_gravity="center_vertical"/>
                <TextView
                    android:layout_column="6"       
                    android:textColor="@android:color/black"            
                    android:text="Platz"
                    android:layout_gravity="center_vertical"/>
                <Spinner
                    android:id="@+id/spinnerPlace"
                    android:layout_column="7"
                    android:layout_gravity="center_vertical"/>
            </TableRow>

            <TableRow
                android:layout_height="0dp"
                android:layout_weight="1">
                <TextView
                    android:layout_column="1"
                    android:textColor="@android:color/black"
                    android:text="WE Nummer"
                    android:layout_gravity="center_vertical"/>
                <EditText
                    android:id="@+id/editTextReceiptNo"
                    android:layout_column="2"
                    android:layout_span="2"
                    android:textColor="@android:color/black"
                    android:layout_width="fill_parent"
                    android:layout_gravity="bottom"
                    android:singleLine="true"
                    android:textSize="14dip" /> 
                <TextView
                    android:layout_column="4"
                    android:textColor="@android:color/black"    
                    android:text="Lieferant"
                    android:layout_gravity="center_vertical"/>
                <EditText
                    android:id="@+id/editTextVendor"
                    android:enabled="false"
                    android:layout_column="5"
                    android:textColor="@android:color/black"
                    android:textSize="14dip"
                    android:layout_span="5"
                    android:width="120dp"
                    android:layout_gravity="bottom"
                    android:singleLine="true"/>  
            </TableRow>

            <TableRow
                android:layout_height="0dp"
                android:layout_weight="1">
                <TextView
                    android:layout_column="1"
                    android:textColor="@android:color/black"
                    android:text="Bestellnummer"
                    android:layout_gravity="center_vertical"/>
                <EditText
                    android:id="@+id/editTextBestellnummer"
                    android:layout_column="2"
                    android:layout_width="150dip"
                    android:textColor="@android:color/black"
                    android:textSize="14dip"
                    android:layout_gravity="bottom"
                    android:singleLine="true"/>
                <Button
                    android:id="@+id/btnAvisOrderNo"
                    android:layout_column="3"
                    android:text="->"/>
                <TextView
                    android:layout_column="4"
                    android:textColor="@android:color/black"
                    android:text="LKW Temp.-Stat."
                    android:layout_gravity="center_vertical"/>
                <CheckBox
                    android:id="@+id/checkBoxLkwTempStat"
                    android:layout_column="5"
                    android:layout_gravity="center_vertical"/>
                <TextView
                    android:layout_column="6"
                    android:textColor="@android:color/black"
                    android:text="Temp. LKW"
                    android:layout_gravity="center_vertical"/>
                <EditText
                    android:id="@+id/editTextTempLKW"
                    android:layout_column="7"
                    android:textColor="@android:color/black"
                    android:width="120dp"
                    android:layout_gravity="bottom"
                    android:singleLine="true"
                    android:textSize="14dip" />
                <TextView
                    android:layout_column="8"
                    android:textColor="@android:color/black"
                    android:text="Warentemp."
                    android:layout_gravity="center_vertical"/>
                <EditText
                    android:layout_column="9"
                    android:id="@+id/editTextWarentemp"
                    android:width="120dp"
                    android:textColor="@android:color/black"
                    android:textSize="14dip"
                    android:singleLine="true"/>
            </TableRow>

            <TableRow
                android:layout_height="0dp"
                android:layout_weight="1">
                <TextView
                    android:layout_column="1"
                    android:textColor="@android:color/black"
                    android:text="Frachtführer"
                    android:layout_gravity="center_vertical"/>
                <Spinner
                    android:id="@+id/spinnerCarrier"
                    android:layout_column="2"
                    android:layout_span="2"
                    android:layout_gravity="bottom"/>
                <TextView
                    android:layout_column="4"
                    android:textColor="@android:color/black"
                    android:text="KFZ Kennz."
                    android:layout_gravity="center_vertical"/>
                <EditText
                    android:id="@+id/editTextKfzKennz"
                    android:layout_column="5"
                    android:textColor="@android:color/black"
                    android:width="120dp"
                    android:singleLine="true"
                    android:textSize="14dip" />
                <TextView
                    android:layout_column="6"
                    android:textColor="@android:color/black"
                    android:text="Fahrer"
                    android:layout_gravity="center_vertical"/>
                <EditText
                    android:id="@+id/editTextFahrer"
                    android:layout_column="7"
                    android:textColor="@android:color/black"
                    android:width="120dp"
                    android:singleLine="true"
                    android:textSize="14dip" />
            </TableRow> 

            <TableRow
                android:layout_height="0dp">
                <Button
                    android:id="@+id/buttonCreateGoodsReceipt"
                    android:layout_column="1"
                    android:layout_span="3"
                    android:text="Wareneing. erstellen"/>
                <Button
                    android:id="@+id/buttonFinishGoodsReceipt"
                    android:layout_column="4"
                    android:layout_span="3"
                    android:text="Wareneing. abschließen"/>
                <Button
                    android:id="@+id/buttonCancelDelivery"
                    android:layout_column="7"
                    android:layout_span="3"
                    android:text="Anlieferung ablehnen"/>
            </TableRow>

        </TableLayout>      

        <TableLayout
            android:id="@+id/Anliefungpos"
            android:layout_width="match_parent"
            android:layout_weight="3.5"
            android:layout_height="0dp"
            android:stretchColumns="*">

            <!--Headers-->
            <TableRow
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:weightSum="8">
                <TextView 
                    android:text="Artikel"
                    android:textSize="18dip"
                    android:textColor="@android:color/black"
                    android:layout_gravity="left|center_vertical"
                    android:layout_weight="1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"/>
                <TextView 
                    android:text="Benennung"
                    android:textSize="18dip"
                    android:textColor="@android:color/black"
                    android:layout_gravity="left|center_vertical"
                    android:layout_weight="1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"/>
                <TextView 
                    android:text="Menge Avis"
                    android:textSize="18dip"
                    android:textColor="@android:color/black"
                    android:layout_gravity="left|center_vertical"
                    android:layout_weight="1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"/>
                <TextView 
                    android:text="Einheit"
                    android:textSize="18dip"
                    android:textColor="@android:color/black"
                    android:layout_gravity="left|center_vertical"
                    android:layout_weight="1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"/>
                <TextView 
                    android:text="Menge gelief."
                    android:textSize="18dip"
                    android:textColor="@android:color/black"
                    android:layout_gravity="left|center_vertical"
                    android:layout_weight="1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"/>
                <TextView 
                    android:text="Anz. Pal."
                    android:textSize="18dip"
                    android:textColor="@android:color/black"
                    android:layout_gravity="left|center_vertical"
                    android:layout_weight="1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"/>
                <TextView 
                    android:text="NVE"
                    android:textSize="18dip"
                    android:textColor="@android:color/black"
                    android:layout_gravity="left|center_vertical"
                    android:layout_weight="1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"/>
                <TextView 
                    android:text="Status"
                    android:textSize="18dip"
                    android:textColor="@android:color/black"
                    android:layout_gravity="left|center_vertical"
                    android:layout_weight="1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"/>
            </TableRow>

            <ListView
                android:listSelector="@drawable/ListViewRowSelector"
                android:id="@+id/ListViewAnliefungPos"/>

        </TableLayout>

        <TableLayout
            android:id="@+id/AnlieferungPositionLHM"
            android:layout_width="match_parent"
            android:layout_weight="4"
            android:layout_height="0dp">

            <TableRow
                android:layout_height="0dp"
                android:layout_weight="1">
                <TextView
                    android:layout_column="1"
                    android:textColor="@android:color/black"
                    android:text="Scan NVE/GS1"
                    android:layout_gravity="center_vertical"/>
                <EditText
                    android:id="@+id/editTextLhmScanNve"
                    android:layout_column="2"
                    android:width="250dp"
                    android:textColor="@android:color/black"
                    android:singleLine="true"
                    android:textSize="14dip" />
                <Button
                    android:id="@+id/btnOpenScan"
                    android:layout_column="3"
                    android:text="Scan abschließen"
                    android:layout_gravity="center_vertical"/>
                <TextView
                    android:layout_column="8"
                    android:textColor="@android:color/black"
                    android:text="Qualitätssicherung"
                    android:layout_gravity="top"/>  
            </TableRow>

            <TableRow
                android:layout_height="0dp"
                android:layout_weight="1">
                <EditText
                    android:id="@+id/editTextNotifications"
                    android:layout_column="1"
                    android:textColor="@android:color/black"
                    android:layout_height="wrap_content"
                    android:layout_span="7"
                    android:singleLine="true"
                    android:textSize="14dip" />
                <TextView
                    android:layout_column="8"
                    android:textColor="@android:color/black"
                    android:text="Le defekt"
                    android:layout_gravity="center_vertical"/>
                <CheckBox
                    android:id="@+id/checkBoxLeDefect"
                    android:layout_column="9"
                    android:layout_gravity="bottom"/>
            </TableRow>

            <TableRow
                android:layout_height="0dp"
                android:layout_weight="1">
                <TextView
                    android:text="Artikel"
                    android:textColor="@android:color/black"
                    android:layout_width="0dp"
                    android:layout_column="1"
                    android:layout_gravity="center_vertical"/>
                <EditText
                    android:id="@+id/editTextItem"
                    android:textColor="@android:color/black"
                    android:layout_column="2"
                    android:singleLine="true"
                    android:textSize="14dip" />
                <TextView
                    android:id="@+id/textViewItemDescr"
                    android:textColor="@android:color/black"
                    android:layout_column="3"
                    android:layout_span="5"
                    android:layout_gravity="center_vertical"/>
                <TextView
                    android:text="Ordnungsstatus"
                    android:textColor="@android:color/black"
                    android:layout_column="8"
                    android:layout_gravity="center_vertical"/>
                <CheckBox
                    android:id="@+id/checkBoxOrdnungsstatus"
                    android:layout_column="9"
                    android:layout_gravity="bottom"/>       
            </TableRow>

            <TableRow
                android:layout_height="0dp"
                android:layout_weight="1">
                <TextView
                    android:layout_column="1"
                    android:textColor="@android:color/black"
                    android:text="Charge"
                    android:layout_gravity="center_vertical"/>
                <EditText
                    android:id="@+id/editTextCharge"
                    android:textColor="@android:color/black"
                    android:layout_column="2"
                    android:singleLine="true"
                    android:textSize="14dip" />
                <TextView
                    android:layout_column="8"
                    android:textColor="@android:color/black"
                    android:text="Sauberkeitsstatus"
                    android:layout_gravity="center_vertical"/>
                <CheckBox
                    android:id="@+id/checkBoxSauberkeitsstatus"
                    android:layout_column="9"
                    android:layout_gravity="bottom"/>       
            </TableRow>     

            <TableRow
                android:layout_height="0dp"
                android:layout_weight="1">
                <TextView
                    android:text="MHD"
                    android:textColor="@android:color/black"
                    android:layout_column="1"
                    android:layout_gravity="center_vertical"/>
                <EditText
                    android:id="@+id/editTextMHD"
                    android:textColor="@android:color/black"
                    android:layout_column="2"
                    android:singleLine="true"
                    android:textSize="14dip" />
                <TextView
                    android:text="Prod.-Datum"
                    android:textColor="@android:color/black"
                    android:layout_column="4"
                    android:layout_gravity="center_vertical"/>
                <EditText
                    android:id="@+id/editTextProdDate"
                    android:textColor="@android:color/black"
                    android:layout_column="5"
                    android:singleLine="true"
                    android:textSize="14dip" />
                <TextView
                    android:layout_column="8"
                    android:textColor="@android:color/black"
                    android:text="Schädlingsstatus"
                    android:layout_gravity="center_vertical"/>
                <CheckBox
                    android:id="@+id/checkBoxSchaedlingsstatus"
                    android:layout_column="9"
                    android:layout_gravity="bottom"/>
            </TableRow> 

            <TableRow
                android:layout_height="0dp"
                android:layout_weight="1">
                <TextView
                    android:text="Menge"
                    android:textColor="@android:color/black"
                    android:layout_column="1"
                    android:layout_gravity="center_vertical"/>
                <EditText
                    android:id="@+id/editTextMenge"
                    android:textColor="@android:color/black"
                    android:layout_column="2"
                    android:singleLine="true"
                    android:textSize="14dip" />
                <TextView
                    android:textColor="@android:color/black"
                    android:layout_column="3"
                    android:layout_gravity="center_vertical"
                    android:id="@+id/textViewItemUom"/>
                <TextView
                    android:text="Geometrie"
                    android:textColor="@android:color/black"
                    android:layout_column="4"
                    android:layout_gravity="center_vertical"/>
                <Spinner
                    android:id="@+id/spinnerItemGeometry"
                    android:layout_column="5"
                    android:layout_width="150dp"
                    android:layout_gravity="center_vertical"/>
                <TextView
                    android:layout_column="8"
                    android:textColor="@android:color/black"
                    android:text="Warentemp."
                    android:layout_gravity="center_vertical"/>
                <EditText
                    android:id="@+id/editTextLhmWarentemp"
                    android:layout_column="9"
                    android:layout_width="50dip"
                    android:layout_gravity="center_vertical"
                    android:textColor="@android:color/black"
                    android:singleLine="true"
                    android:textSize="14dip" />
                <TextView
                    android:layout_column="10"
                    android:textColor="@android:color/black"
                    android:text="Warentemp.-Status"
                    android:layout_gravity="center_vertical"/>
                <CheckBox
                    android:id="@+id/checkBoxWarentempstatus"
                    android:layout_column="11"
                    android:layout_gravity="bottom"/>
            </TableRow>     

            <TableRow
                android:layout_height="0dp"
                android:layout_weight="1">
                <TextView
                    android:text="LHM-Nr."
                    android:textColor="@android:color/black"
                    android:layout_column="1"
                    android:layout_gravity="center_vertical"/>
                <EditText
                    android:id="@+id/editTextLHMNr"
                    android:layout_gravity="center_vertical"
                    android:layout_column="2"
                    android:textColor="@android:color/black"
                    android:singleLine="true"
                    android:textSize="14dip" />
                <TextView
                    android:text="LHM Typ"
                    android:textColor="@android:color/black"
                    android:layout_column="4"
                    android:layout_gravity="center_vertical"/>
                <Spinner
                    android:id="@+id/spinnerLhmType"
                    android:layout_column="5"
                    android:layout_width="150dp"
                    android:layout_gravity="center_vertical"/>
                <TextView
                    android:text="LHM Höhe"
                    android:textColor="@android:color/black"
                    android:layout_column="6"
                    android:layout_gravity="center_vertical"/>
                <Spinner
                    android:id="@+id/spinnerLhmHeight"
                    android:layout_column="7"
                    android:layout_width="wrap_content"
                    android:layout_gravity="center_vertical"/>
                <TextView
                    android:layout_column="8"
                    android:textColor="@android:color/black"
                    android:text="Altersstatus"
                    android:layout_gravity="center_vertical"/>
                <CheckBox
                    android:id="@+id/checkBoxAltersstatus"
                    android:layout_column="9"
                    android:layout_gravity="bottom"/>   
                <TextView
                    android:layout_column="10"
                    android:textColor="@android:color/black"
                    android:text="Palettenstatus"
                    android:layout_gravity="center_vertical"/>
                <CheckBox
                    android:id="@+id/checkBoxPalettenstatus"
                    android:layout_column="11"
                    android:layout_gravity="bottom"/>   
            </TableRow>         

            <TableRow
                android:layout_height="0dp"
                android:layout_weight="1">
                <Button
                    android:id="@+id/btnPostLe"
                    android:layout_column="1"
                    android:text="LHM buchen"/>         
                <Button
                    android:id="@+id/btnWeCancel"
                    android:layout_column="2"
                    android:text="Abbrechen"/>
            </TableRow> 
        </TableLayout>

    </LinearLayout>

</ScrollView>

弹出软键盘时如何仅隐藏部分布局

弹出软键盘时如何仅隐藏部分布局

xujing_521 回答:弹出软键盘时如何仅隐藏部分布局

看起来像您想在显示SoftInput时调整活动大小。

因此,首先,由于您不想滚动所有内容,请移除外部ScrollView。

然后在Activity的{​​{1}}上添加一个ActivityAttribute规范,例如:

WindowSoftInputMode

现在,当显示键盘时,它应该调整“活动”和视图的大小。

,

尝试检查键盘是否打开,并使用“可见性” /“消失”。

aktivityMainRelativLayout = (RelativeLayout)findViewById(R.id.main);
    aktivityMainRelativLayout.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
        @Override
        public void onGlobalLayout() {
            int heightDiff = aktivityMainRelativLayout.getRootView().getHeight() - aktivityMainRelativLayout.getHeight();

            if (heightDiff > 100) {
                //keyboard open
                anliefungposLayout.setVisibility(View.GONE);
            } else {
                //keyboard close
                anliefungposLayout.setVisibility(View.VISIBLE);
            }
        }
    });
本文链接:https://www.f2er.com/3096763.html

大家都在问