Android 如何在弹出软键盘时仅隐藏布局的一部分
我的布局分为3个部分(参见屏幕截图)。当软键盘出现时,它部分隐藏部分1,完全隐藏部分2。但是,我需要它只隐藏第2节,并保持第1节和第3节完全可见。我尝试使用Android 如何在弹出软键盘时仅隐藏布局的一部分,android,xamarin,layout,xamarin.android,Android,Xamarin,Layout,Xamarin.android,我的布局分为3个部分(参见屏幕截图)。当软键盘出现时,它部分隐藏部分1,完全隐藏部分2。但是,我需要它只隐藏第2节,并保持第1节和第3节完全可见。我尝试使用ScrollView作为最外层的视图,但当键盘弹出时,它会导致第3部分重叠,而不是向上推。你能就如何实现这一目标提出一些解决方案吗 布局代码: <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.co
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>
显示SoftInput时,您似乎希望调整活动的大小 因此,首先,删除外部滚动视图,因为您不想滚动所有内容 然后在
ActivityAttribute
中的Activity
上添加WindowSoftInputMode
规范,如:
[Activity(WindowSoftInputMode = SoftInput.AdjustResize | SoftInput.StateHidden)]
现在,当键盘显示时,它应该调整活动和视图的大小。尝试检查键盘是否打开,并使用可见性/GONE
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);
}
}
});
您可以使用3种不同的布局名称来代替表格布局使用约束布局,并通过编程更改所需布局的可见性。类似于:editText.setOnTouchListener(新的OnTouchListener(){@Override public boolean onTouch(视图v,运动事件){layout_2.setVisibility(View.GONE);}});这会导致第1部分缩小到几乎看不见的程度。是的,然后你写布局,使它可以很好地缩放。你能更具体一点吗?我应该在布局中设置哪些属性?很抱歉,这将是一个简单的答案。您应该考虑将布局转换为ConstraintLayout,并对子布局使用基于百分比的高度。