gpt4 book ai didi

android - 打开键盘会破坏布局

转载 作者:行者123 更新时间:2023-11-30 02:26:30 25 4
gpt4 key购买 nike

我的布局有问题。在我的布局中,我有一个 EditText、一个 DatePicker、一个 TimePicker 和一个 Button。单击 EditText 会打开导致图片中显示的问题的键盘。来自“android:windowSoftInputMode”的不同方法没有改变任何东西。现在我不知道如何解决这个问题。

在输入文本之前隐藏其他组件是个好主意吗?这里的预期行为是什么?

correct layout

crumbled layout

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="patrickengelkes.com.alleneune.activities.CreateEventActivity">


<EditText
android:id="@+id/event_name_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />

<DatePicker
android:id="@+id/event_date_picker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/event_name_edit_text"
android:layout_centerHorizontal="true" />

<Button
android:id="@+id/send_event_invites"
android:text="@string/send_event_invites_to_members"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />

<TimePicker
android:id="@+id/event_time_picker"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/send_event_invites"
android:layout_alignLeft="@+id/event_time_picker"
android:layout_alignStart="@+id/event_time_picker" />

提前致谢!

最佳答案

我认为是以下问题:

您告诉您的 DatePicker 它应该位于固定在顶部的 EditText 下方!

然后您告诉您的 TimerPicker 位于固定在底部的 Button 之上。

现在,当您打开 SoftInput 时,Button 会向上移动,您的 TimePicker 也会向上移动。但是 EditText 固定在顶部,您的 DatePicker 也是如此。

TimePickerDatePicker 都得到了 wrap_content 所以 TimePicker 可以进入的唯一方法是进入 DatePicker !这正是它的样子!

我会尝试告诉 TimePicker 我应该保持在 DatePicker 以下:

android:below=="@id/event_date_picker"

看看会发生什么!因为在那种情况下,它被迫停留在 DatePicker 下面,并且不再像一个层一样 float 到 DatePicker 中!我没有尝试过,也许您需要正确声明 android:windowSoftInputMode。因为我不确定它现在是如何声明的!希望对您有所帮助!

关于android - 打开键盘会破坏布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27869742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com