Android:-View在使用软输入键盘时向上推

时间:2014-04-29 08:30:28

标签: android view android-listview android-softkeyboard

我知道这个问题被问了很多次,但是我尝试了很多事情,例如用android:windowSoftInputMode="adjustPan"更改清单来进行活动,但无法获得输出。

下面将为您提供我的XML文件。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".SplashActivity" >

    <RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin" >

        <LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:background="@drawable/login_screen_textview" >

            <EditText
                android:id="@+id/search_your_fav_video"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_margin="2dp"
                android:layout_weight="1"
                android:background="@drawable/round_corner"
                android:drawableLeft="@drawable/search_icon"
                android:hint="Search"
                android:imeOptions="actionSearch"
                android:inputType="text"
                android:paddingLeft="10dp"
                android:singleLine="true" >
            </EditText>

            <Button
                android:id="@+id/btn_search"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Search" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/linearLayout2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_below="@+id/linearLayout1" >

            <ListView
                android:id="@+id/search_listview"
                android:layout_width="match_parent"
                android:layout_height="fill_parent"
                android:descendantFocusability="beforeDescendants">
            </ListView>
        </LinearLayout>

    </RelativeLayout>

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true" >

        <com.google.ads.AdView
            android:id="@+id/adView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            ads:adSize="BANNER"
            ads:adUnitId="a1528c8253ca0be"
            ads:loadAdOnCreate="true" >
        </com.google.ads.AdView>
    </RelativeLayout>

</RelativeLayout>

这是我的主要文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.favyoutubevideotodownload"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.videotodownload.SplashActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".SearchYourVideoActivity"
            android:windowSoftInputMode="adjustPan" >
        </activity>
    </application>

    <activity
        android:name="com.google.ads.AdActivity"
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
        android:screenOrientation="portrait" />

</manifest>

我认为这是由于我的XML中使用了 Lisview AdView 。任何人都可以建议我如何执行此操作。

感谢任何帮助。

3 个答案:

答案 0 :(得分:0)

在您的活动中创建

 getWindow().setSoftInputMode(
                WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

答案 1 :(得分:0)

尝试

android:windowSoftInputMode="adjustResize"

的实例
android:windowSoftInputMode="adjustPan"
  

&#34; adjustPan&#34; - 活动的主窗口未调整大小以腾出空间   用于软键盘。相反,窗口的内容是   自动平移,以便当前的焦点永远不会被遮挡   键盘和用户可以随时查看他们正在键入的内容。这是   通常不如调整大小,因为用户可能需要   关闭软键盘以进入并与模糊的部分进行交互   窗口。

因此,在调整平移时,如果需要,视图将被向上推,以保持当前焦点。

答案 2 :(得分:0)

将您的布局更改为此....并将android:windowSoftInputMode =&#34; adjustResize&#34;在清单......

<ScrollView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".SplashActivity" >

    <RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin" >

        <LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:background="@drawable/login_screen_textview" >

            <EditText
                android:id="@+id/search_your_fav_video"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_margin="2dp"
                android:layout_weight="1"
                android:background="@drawable/round_corner"
                android:drawableLeft="@drawable/search_icon"
                android:hint="Search"
                android:imeOptions="actionSearch"
                android:inputType="text"
                android:paddingLeft="10dp"
                android:singleLine="true" >
            </EditText>

            <Button
                android:id="@+id/btn_search"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Search" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/linearLayout2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_below="@+id/linearLayout1" >

            <ListView
                android:id="@+id/search_listview"
                android:layout_width="match_parent"
                android:layout_height="fill_parent"
                android:descendantFocusability="beforeDescendants">
            </ListView>
        </LinearLayout>

    </RelativeLayout>

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true" >

        <com.google.ads.AdView
            android:id="@+id/adView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            ads:adSize="BANNER"
            ads:adUnitId="a1528c8253ca0be"
            ads:loadAdOnCreate="true" >
        </com.google.ads.AdView>
    </RelativeLayout>

</RelativeLayout>
</ScrollView>