使键盘覆盖ViewGroup

时间:2015-01-06 19:42:07

标签: android android-layout

我的布局

<FrameLayout...>
    <ScrollView
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:background="#fff"
      android:fillViewport="true">

       <RelativeLayout
           android:layout_width="match_parent"
           android:layout_height="match_parent">
        ...
          <LinearLayout
             android:id="@+id/make_this_invisible_on_keyboard_visible"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_alignParentBottom="true"
          >
           ...
         </LinearLayout>
    </ScrollView>
    <LinearLayout
             android:id="@+id/make_this_visible_on_keyboard_visible"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_alignParentBottom="true"
          >
           ...
         </
<FrameLayout>

我想要的是身份LinearLayout的{​​{1}} 当键盘可见时,键盘将覆盖。

另一方面,

标识为make_this_invisible_on_keyboard_visible的{​​{1}}应该可见。

当前状态:两种布局均可见

是否可以或应该重新考虑我的layout设计?

1 个答案:

答案 0 :(得分:0)

您必须在活动中实施onConfigurationChanged方法

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);

    if (newConfig.keyboardHidden == Configuration.KEYBOARDHIDDEN_NO) {
        // set visibility gone
    } else if (newConfig.keyboardHidden == Configuration.KEYBOARDHIDDEN_YES){
        //set Visibility visible
    }
}