我的界面如下所示:
XML:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/profile_fields_container"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="20dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/account_person_name_label" />
<EditText
android:id="@+id/person_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="150dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/account_person_emailId_label" />
<EditText
android:id="@+id/person_emailId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:minWidth="150dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/account_person_phoneNo_label" />
<EditText
android:id="@+id/person_phoneNo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="phone"
android:maxLength="10"
android:minWidth="150dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/account_person_password_label" />
<EditText
android:id="@+id/password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:minWidth="150dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/account_person_retypePassword_label" />
<EditText
android:id="@+id/retype_password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:minWidth="150dp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="20dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/learner_tutor_status_label" />
<android.support.v7.widget.AppCompatSpinner
android:id="@+id/learner_tutor_status_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
<!--Floating Button-->
<Button
android:id="@+id/create_account"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:text="@string/create_account_string"
style="@style/Widget.AppCompat.Button.Colored"/>
</FrameLayout>
现在,您可以在底部看到我来这里...... 。这是一个下拉列表,当我选择其中一个选项时,我的代码会动态地向层次结构添加一些视图,但问题是它们不可见(不是全部;只是 我是...... 可见。)
我通过布局检查器检查了布局层次结构,结果显示层次结构处于活动状态但是浮动按钮(创建帐户)已经盖过了它。
现在,我知道如果要用[{1}}替换根FrameLayout
,它会显示但问题是如果那时我会点击LinearLayout
按钮,键盘将覆盖屏幕,同时覆盖创建帐户按钮。 我实际上希望此按钮始终显示在屏幕上。
有谁能解决这个问题?
答案 0 :(得分:0)
您的布局并不完全正确,因为您的浮动按钮始终隐藏ScrollView
的底部。您应该使用垂直FrameLayout
替换LinearLayout
(就像您说的那样),然后在您的activity元素中弹出带有windowSoftInputMode
属性的软键盘时指定活动的窗口行为在AndroidManifest.xml文件中。如果您使用android:windowSoftInputMode="adjustResize"
,窗口将相应调整大小,按钮应始终可见。