我的布局分为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>
答案 0 :(得分:1)
看起来像您想在显示SoftInput时调整活动大小。
因此,首先,由于您不想滚动所有内容,请移除外部ScrollView。
然后在Activity
的{{1}}上添加一个ActivityAttribute
规范,例如:
WindowSoftInputMode
现在,当显示键盘时,它应该调整“活动”和视图的大小。
答案 1 :(得分:0)
尝试检查键盘是否打开,并使用“可见性” /“消失”。
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);
}
}
});