Android 软键盘向上时如何隐藏底部重力的线性布局视图
当我的软键盘向上滑动时,如何隐藏id为:btmFillFormLayout的LinearLayout? 因为有了软键盘,我的线性布局也在滑动,有3个图像,但我不能点击它们。我需要把它们藏起来Android 软键盘向上时如何隐藏底部重力的线性布局视图,android,android-layout,Android,Android Layout,当我的软键盘向上滑动时,如何隐藏id为:btmFillFormLayout的LinearLayout? 因为有了软键盘,我的线性布局也在滑动,有3个图像,但我不能点击它们。我需要把它们藏起来 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" andro
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/btmFillFormLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="3dp"
android:layout_marginTop="10dp"
android:gravity="center"
android:isScrollContainer="false" >
<Button
android:id="@+id/btn_FillData"
android:layout_width="36dp"
android:layout_height="36dp"
android:layout_marginRight="10dp"
android:background="@drawable/save" />
<Button
android:id="@+id/btn_pickNewForm"
android:layout_width="36dp"
android:layout_height="36dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="@drawable/newicon" />
<Button
android:id="@+id/btn_DeleteData"
android:layout_width="36dp"
android:layout_height="36dp"
android:layout_marginLeft="10dp"
android:background="@drawable/delete" />
</LinearLayout>
<LinearLayout
android:id="@+id/topFillFormLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerVertical="true"
android:layout_marginBottom="3dp"
android:layout_marginTop="10dp"
android:orientation="horizontal" >
<Button
android:id="@+id/btn_ChangeDate"
android:layout_width="96dp"
android:layout_height="38dp"
android:layout_marginLeft="10dp"
android:text="@string/change_date" />
</LinearLayout>
<EditText
android:id="@+id/editTextToShowDate"
android:layout_width="0dp"
android:layout_height="0dp"
android:focusable="false"
android:inputType="date"
android:onClick="showDatePickerDialog" >
</EditText>
<EditText
android:id="@+id/body"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/btmFillFormLayout"
android:layout_alignParentLeft="true"
android:layout_below="@+id/title"
android:ems="10"
android:fadingEdge="vertical"
android:gravity="top"
android:hint="Description"
android:padding="5dp"
android:scrollbars="vertical"
android:textSize="22sp" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/tvDate"
android:layout_width="92dp"
android:layout_height="33dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/topFillFormLayout"
android:layout_marginLeft="14dp"
android:gravity="center"
android:text="@string/empty"
android:visibility="visible" />
<TextView
android:id="@+id/tvDiagnoze"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/tvDate"
android:layout_alignTop="@+id/tvDate"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/tvDate"
android:gravity="center"
android:text="@string/empty"
android:visibility="invisible" />
<TextView
android:id="@+id/tvVirsutinis"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/tvDiagnoze"
android:layout_alignRight="@+id/title"
android:layout_alignTop="@+id/tvDiagnoze"
android:layout_marginLeft="10dp"
android:gravity="center"
android:text="@string/virsutinis"
android:visibility="invisible" />
<EditText
android:id="@+id/virsutinisKraujoSpaudimas"
android:layout_width="55dp"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/tvVirsutinis"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/title"
android:gravity="center"
android:hint="@string/tritaskis"
android:inputType="number"
android:maxLength="3"
android:singleLine="true"
android:visibility="invisible" />
<EditText
android:id="@+id/apatinisKraujoSpaudimas"
android:layout_width="55dp"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/virsutinisKraujoSpaudimas"
android:layout_alignTop="@+id/tvApatinis"
android:ems="10"
android:gravity="center"
android:hint="@string/tritaskis"
android:inputType="number"
android:maxLength="3"
android:singleLine="true"
android:visibility="invisible" />
<TextView
android:id="@+id/tvApatinis"
android:layout_width="wrap_content"
android:layout_height="36dp"
android:layout_alignLeft="@+id/tvVirsutinis"
android:layout_below="@+id/virsutinisKraujoSpaudimas"
android:layout_toLeftOf="@+id/virsutinisKraujoSpaudimas"
android:gravity="center"
android:text="@string/apatinis"
android:visibility="invisible" />
<EditText
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/apatinisKraujoSpaudimas"
android:ems="10"
android:hint="@string/no_title"
android:maxLength="50"
android:singleLine="true"
android:textSize="18sp" />
<com.bakalauras.rtaujenis.NoDefaultSpinner
android:id="@+id/spinner_diagnose"
android:layout_width="170dp"
android:layout_height="match_parent"
android:layout_alignBottom="@+id/topFillFormLayout"
android:layout_alignLeft="@+id/tvDiagnoze"
android:layout_alignTop="@+id/topFillFormLayout"
android:entries="@array/spin_select_diagnose"
android:prompt="@string/select_diagnose" />
<TextView
android:id="@+id/tvTemperatura"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/apatinisKraujoSpaudimas"
android:layout_alignLeft="@+id/tvDiagnoze"
android:layout_alignTop="@+id/tvVirsutinis"
android:gravity="center"
android:text="@string/temperatura"
android:visibility="invisible" />
<EditText
android:id="@+id/temperatura"
android:layout_width="85dp"
android:layout_height="wrap_content"
android:layout_above="@+id/apatinisKraujoSpaudimas"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/tvTemperatura"
android:gravity="center"
android:hint="@string/tritaskis"
android:inputType="numberDecimal"
android:maxLength="5"
android:singleLine="true"
android:visibility="invisible" />
<TextView
android:id="@+id/tvDiabet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/apatinisKraujoSpaudimas"
android:layout_alignLeft="@+id/tvDiagnoze"
android:layout_alignTop="@+id/tvVirsutinis"
android:gravity="center"
android:text="@string/diabetas"
android:visibility="invisible" />
<EditText
android:id="@+id/diabet"
android:layout_width="85dp"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/tvDiagnoze"
android:layout_alignBottom="@+id/tvDiagnoze"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/tvDiabet"
android:gravity="center"
android:hint="@string/tritaskis"
android:inputType="numberDecimal"
android:maxLength="5"
android:singleLine="true"
android:visibility="invisible" />
<TextView
android:id="@+id/tvWeight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/apatinisKraujoSpaudimas"
android:layout_alignLeft="@+id/tvDiagnoze"
android:layout_alignTop="@+id/tvVirsutinis"
android:gravity="center"
android:text="@string/svoris"
android:visibility="invisible" />
<EditText
android:id="@+id/weight"
android:layout_width="85dp"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/diabet"
android:layout_alignBottom="@+id/diabet"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/tvWeight"
android:gravity="center"
android:hint="@string/tritaskis"
android:inputType="numberDecimal"
android:maxLength="7"
android:singleLine="true"
android:visibility="invisible" />
</RelativeLayout>
我的问题有两张图片。
[1] :[2]:根据此,您可以执行以下操作:
private boolean mIsKeyboardHidden;
@Override
public void onCreate(Bundle savedInstanceState) {
// Your stuff first
final View activityRootView = findViewById(android.R.id.content);
activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
final int heightDiff = activityRootView.getRootView().getHeight() - activityRootView.getHeight();
if (heightDiff > 100) { // if more than 100 pixels, its probably a keyboard...
mIsKeyboardHidden = !mIsKeyboardHidden;
}
if (mIsKeyboardHidden) {
layout.setVisibility(View.VISIBLE);
} else {
layout.setVisibility(View.INVISIBLE);
}
}
});
}