弹出键盘上的活动大小调整或滚动

时间:2017-05-09 09:21:39

标签: android android-layout

我已经看到很多关于如何在屏幕键盘弹出时禁用滚动活动文本字段或调整当前活动大小的标准Android行为的线程,但我的问题恰恰相反。在我的应用中都没有滚动或调整大小。

我需要做些什么才能实现正确的行为?

<?xml version="1.0" encoding="utf-8"?>

<!-- The main content view -->
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RootView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="?colorPrimary">

    <com.sothree.slidinguppanel.SlidingUpPanelLayout xmlns:sothree="http://schemas.android.com/apk/res-auto"
        android:id="@+id/slidingPanel"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="bottom"
        sothree:umanoFadeColor="@android:color/transparent"
        sothree:umanoOverlay="true"
        sothree:umanoPanelHeight="200dp"
        sothree:umanoShadowHeight="0dp">

        <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/drawer_layout"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <RelativeLayout
                android:id="@+id/fragmentContainer"
                android:layout_width="match_parent"
                android:layout_height="match_parent" />

            <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/scrollView1"
                android:layout_width="@dimen/lewa_lista_size"
                android:layout_height="match_parent"
                android:layout_gravity="start"
                android:background="?xenoPanelBackgroundColor"/>
        </android.support.v4.widget.DrawerLayout>

        <RelativeLayout
            android:id="@+id/playlist"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center">

            <LinearLayout
                android:id="@+id/chwytak"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/tlo_kropek"
                android:orientation="vertical">

                <ImageView
                    android:id="@+id/kropki"
                    android:layout_width="match_parent"
                    android:layout_height="@dimen/uchwyt_szuflady_height"
                    android:layout_centerHorizontal="true"
                    android:gravity="center_horizontal"
                    android:src="@mipmap/kropki" />

                <RelativeLayout
                    android:id="@+id/wypelniaczGorny"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"/>
            </LinearLayout>

            <android.support.v7.widget.Toolbar
                android:id="@+id/playlistAB"
                style="?xenoActionBarTheme"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/chwytak"
                android:elevation="4dp"
                android:minHeight="?attr/actionBarSize">

                <Spinner
                    android:id="@+id/spinner_toolbar"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" />
            </android.support.v7.widget.Toolbar>

            <RelativeLayout
                android:id="@+id/wypelniacz"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_alignParentBottom="true"
                android:background="?xenoPanelBackgroundColor"/>

            <android.support.v4.view.ViewPager
                android:id="@+id/pager"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_above="@id/wypelniacz"
                android:layout_below="@id/playlistAB"
                android:background="?xenoPanelBackgroundColor"/>
        </RelativeLayout>
    </com.sothree.slidinguppanel.SlidingUpPanelLayout>

</FrameLayout>

1 个答案:

答案 0 :(得分:2)

你可以在manifest中使用windowSoftInputMode属性进行活动,例如

 <activity
    android:windowSoftInputMode="adjustPan"
    android:name=".YourActivity"></activity>

活动的主窗口如何与包含屏幕软键盘的窗口交互。此属性的设置会影响两件事: 当活动成为用户关注的焦点时,软键盘的状态 - 无论是隐藏还是可见。 对活动主窗口进行的调整 - 是否调整较小以便为软键盘腾出空间,或者当软键盘覆盖部分窗口时,其内容是否平移以使当前焦点可见。

在这里,您可以获得更多信息https://developer.android.com/guide/topics/manifest/activity-element.html

您可以根据您的要求获得合适的属性