屏幕底部带有Custom ActionBar的Android项目浮动在键盘上方

时间:2015-10-30 17:28:21

标签: android xml xamarin

我正在使用xamarin的android项目,并且我在屏幕底部有一个自定义操作栏。我在大约三个不同的屏幕之间使用它,但出于某种原因,当键盘出现时,在带有edittext和listview的屏幕上,导航栏出现在键盘上方,它不应该。如下图所示

外观不正确:

enter image description here

当键盘出现导航栏时带有"?"图像按钮不应该在那里。

xml代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:orientation="vertical"
    android:layout_height="match_parent"
    android:layout_centerHorizontal="true"
    android:id="@+id/LocationsRoot"
    android:gravity="center_vertical|center_horizontal">
    <include
        android:id="@+id/toolbar"
        layout="@layout/toolbar" />
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_centerInParent="true"
        android:orientation="vertical"
        android:layout_below="@id/toolbar">
        <TextView
            android:id="@+id/SearchView"
            android:layout_centerHorizontal="true"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center_vertical"
            android:layout_marginTop="15dp"
            android:background="#d3d3d3"
            android:textSize="30dp"
            android:text=" Select Location" />
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#d3d3d3"
                android:orientation="horizontal">
                <EditText
                    android:layout_width="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:layout_marginRight="20dp"
                    android:layout_marginBottom="5dp"
                    android:id="@+id/SearchText"
                    android:hint="Search"
                    android:layout_centerInParent="true"
                    android:background="#FFFFFF"
                    android:gravity="center"
                    android:layout_weight="10"
                    android:layout_height="match_parent" />
                <ImageButton
                    android:id="@+id/SearchLocationButton"
                    android:layout_width="wrap_content"
                    android:background="@drawable/GreenButton"
                    android:layout_marginBottom="5dp"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:layout_weight="1"
                    android:src="@drawable/search32x32" />
            </LinearLayout>
        </RelativeLayout>
        <ListView
            android:id="@+id/LocationsList"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1" />
        <include
            android:id="@+id/bottomtoolbar"
            layout="@layout/toolbarbottom"
            android:layout_weight="0" />
    </LinearLayout>
</RelativeLayout>

2 个答案:

答案 0 :(得分:2)

在您的 OnCreate()方法中尝试此操作:

protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            SetContentView(Resource.Layout.Main);
            Window.SetSoftInputMode(SoftInput.AdjustPan); // also,you can try this "SoftInput.AdjustNothing"
//other stuff and etc
       }

软键盘会覆盖您的物品 享受!

答案 1 :(得分:0)

转到private static final ArrayList<Square> squares = new ArrayList<>(40); squares.add(1, new PropertySquare("Old Kent Road", 1, 60, "Brown")); Square sq = squares.get(0); if(sq instanceof PropertySquare){ PropertySquare pSq = (PropertySquare) sq; //now you can use any method of PropertySquare } 。 在AndroidManifest代码中,将Activity设置为softinputType