当布局在父级中居时,无法向上滚动

时间:2014-09-30 13:30:27

标签: android xamarin

我有一个滚动视图,其中包含一个包含一些控件的Linearlayout 控件必须在主视图中居中,因此我使用RelativeLayout包装滚动视图并设置工作正常的android:layout_centerInParent="true"。 问题是,当我尝试在第一个Edittext中输入文本并且平板电脑处于横向模式并且键盘出现时,编辑框将消失,您无法向上滚动以查看第一个Editbox。 (我认为原因是android:layout_centerInParent="true"
如何解决此问题,以便能够在键盘出现时向上和向下滚动以查看所有控件。 布局文件如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/relativeLayout1">
<ScrollView 
    android:id="@+id/scrollView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingTop="12dp"
    android:paddingBottom="20dp"
    android:scrollbarStyle="outsideOverlay"

android:layout_centerInParent="true" >
<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_gravity="center"
    android:gravity="center">
    <LinearLayout
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:orientation="vertical"
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:id="@+id/LayoutDummy" />
    <TextView
        android:text="@string/Name"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:id="@+id/textView4" />
    <EditText
        android:inputType="textPersonName"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:id="@+id/EdName" />
    <TextView
        android:text="@string/Name"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:id="@+id/textView4" />
    <EditText
        android:inputType="textPersonName"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:id="@+id/EdName" />
    <TextView
        android:text="@string/Password"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:id="@+id/textView5" />
    <EditText
        android:inputType="textPassword"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:id="@+id/EdPassword" />
    <TextView
        android:text="@string/Mandant"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:id="@+id/textView5" />
    <EditText
        android:inputType="numberSigned"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:id="@+id/EdMandant" />
    <EditText
        android:inputType="textNoSuggestions"
        android:layout_width="359.2dp"
        android:layout_height="wrap_content"
        android:id="@+id/EdLoginUrl"
        android:layout_marginTop="11.6dp" />
    <CheckBox
        android:text="Offline"
        android:id="@+id/cbOffline"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="7.9dp" />
    <TableLayout
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/tableLayout1"
        android:paddingTop="20dp">
        <TableRow
            android:id="@+id/tableRow1"
            android:layout_gravity="center_horizontal"
            android:gravity="center">
            <Button
                android:text="Ok"
                android:id="@+id/BtnOk"
                android:layout_column="0"
                android:layout_width="100dp" />
            <Button
                android:text="Cancel"
                android:layout_column="1"
                android:id="@+id/BtnCancel"
                android:layout_width="100dp" />
        </TableRow>
    </TableLayout>
    <LinearLayout
        android:orientation="vertical"
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:id="@+id/linearLayout1"
        android:paddingTop="20dp">
        <Button
            android:id="@+id/BtnSetting"
            android:layout_height="36dp"
            android:layout_width="36dp"
            android:layout_gravity="center"
            android:background="@drawable/ic_action_settings"
            android:gravity="top" />
        <TextView
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/txtResult"
            android:gravity="center"
            android:paddingTop="20dp" />
    </LinearLayout>
</LinearLayout></ScrollView></RelativeLayout>

2 个答案:

答案 0 :(得分:0)

尝试放

android:windowSoftInputMode="adjustResize" 

在清单文件中定义的活动内。

答案 1 :(得分:0)

尝试使用线性布局而不是使用

的相对布局
android:layout_gravity="center"