10

我正在制作应用程序的 UI。当我尝试在EditText然后键盘中输入值时,向上移动 UI。请在键盘打开时帮助我,然后它不应该向上移动 UI。

<activity
        android:name=".AddProductsActivity"
        android:configChanges="orientation"
        android:hardwareAccelerated="false"
        android:windowSoftInputMode="adjustResize" />
4

5 回答 5

12

它解决了我的问题。

谢谢大家。

<activity
    android:name=".AddProductsActivity"
    android:configChanges="orientation"
    android:hardwareAccelerated="false"
    android:windowSoftInputMode="adjustPan" />
于 2013-08-06T06:57:05.110 回答
1
  1. 使用RelativeLayout 在另一个RelativeLayout 中显示顶部和底部栏,覆盖整个屏幕。

对于顶栏:

android:id="@+id/top"
android:layout_alignParentTop = "true"
android:layout_alignParentRight = "true"
android:layout_alignParentLeft = "true"
android:layout_width="wrap_content"
android:layout_height="<fix height like 50dp or as per requirement>"

对于底栏:

android:id="@+id/bottom"
android:layout_alignParentBottom="true"

  1. 现在添加一个这样的 ScrollView:

    android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/top" android:layout_above="@+id/bottom"

  2. 现在向这个滚动视图添加一个子视图,它可以是 RelativeLayout 或 LineareLayout 中的任何一个。我们需要这个子视图来包装我们想要添加到屏幕中间的其他子视图,现在我们想要看到的任何内容,只需将该视图添加为该布局的子视图,如 EditText 或任何您喜欢的内容。

现在当 KeyBoard 出现时,中间的滚动视图会向上滚动,这不会扭曲你的 UI。

我希望它会有所帮助,如果您对此仍有疑问,请回复我.. :)

于 2013-08-06T05:33:17.120 回答
0

因为我将 TabActivity 用于我的主要活动,然后将 FragmentActivity 用于我的选项卡式活动,所以清单设置似乎没有帮助。所以,我的解决方案是这样的:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
    setContentView(R.layout.activity_fragment);
    // Setup fragment
    if (savedInstanceState == null) {
        getSupportFragmentManager().beginTransaction()
                .add(R.id.container, new Fragment())
                .commit();
    }
}

在创建时显式调用 setSoftInputMode(SOFT_INPUT_ADJUST_RESIZE)。如果 manifest.xml 没有帮助,希望可以帮助一些人。

于 2014-10-20T11:34:43.667 回答
0

将此行 android:windowSoftInputMode="adjustResize" 从清单文件中的标记中删除到该活动。

于 2013-08-06T06:55:17.870 回答
0

在清单中添加以下行您的活动标签

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
于 2013-08-05T13:29:50.697 回答