调整平移不适用于scrollview

时间:2018-04-16 06:19:50

标签: java android xml layout scrollview

我在我的清单活动中使用adjust pan并且它正常用于滚动视图,但我有一些滚动视图正在调整大小。

我将此代码放在清单上的活动上:

android:windowSoftInputMode="adjustPan"

你可以在图片中看到。

Left one is before showing keyboard and right one is after showing keyboard

我在viewpager旁边使用它:

这是我的viewpager xml,它包含很多edittext。

片段Xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <AutoCompleteTextView android:id="@+id/autotext"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:nextFocusUp="@id/autotext"
        android:nextFocusLeft="@id/autotext"/>

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:orientation="horizontal"
                android:weightSum="2">

                <Spinner
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:id="@+id/spinnerKind"
                    android:layout_weight="1"/>


                <Spinner
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:id="@+id/spinnerSazande"
                    android:layout_weight="1"/>

            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:orientation="horizontal"
                android:weightSum="2"
                >

                <EditText
                    android:id="@+id/model"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:hint="مدل"
                    android:focusableInTouchMode="true"/>

                <EditText
                    android:id="@+id/serial"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:hint="سریال"
                    android:focusableInTouchMode="true"
                    />


            </LinearLayout>

            <LinearLayout
                android:id="@+id/LIMEI"
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:orientation="horizontal"
                android:weightSum="2"
                >

                <EditText
                    android:id="@+id/IMEI1"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:hint="IMEI"
                    android:gravity="right"
                    android:focusableInTouchMode="true"/>

                <EditText
                    android:id="@+id/IMEI2"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:hint="IMEI2"
                    android:gravity="right"
                    android:focusableInTouchMode="true"/>





            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:orientation="horizontal"
                android:weightSum="2"
                >

                <EditText
                    android:id="@+id/Size"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:hint="سایز"
                    android:focusableInTouchMode="true"/>

                <EditText
                    android:id="@+id/Color"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:hint="رنگ"
                    android:focusableInTouchMode="true"/>





            </LinearLayout>

            <LinearLayout
                android:id="@+id/LMojdegani"
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:orientation="horizontal"
                android:weightSum="2"
                >

                <EditText
                    android:id="@+id/MacAddress"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:hint="MacAddress"
                    android:gravity="right"
                    android:focusableInTouchMode="true"/>


                <EditText
                    android:id="@+id/mojdegani"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:hint="مژدگانی"
                    android:focusableInTouchMode="true"/>


            </LinearLayout>


            <LinearLayout
                android:id="@+id/LFactor"
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:orientation="horizontal"
                android:weightSum="2"
                >

                <EditText
                    android:id="@+id/FactorNumber"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:hint="شماره فاکتور"
                    android:focusableInTouchMode="true"/>


                <EditText
                    android:id="@+id/NameForoshande"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:hint="نام فروشنده"
                    android:focusableInTouchMode="true"/>


            </LinearLayout>

            <LinearLayout
                android:id="@+id/LTarikh"
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:orientation="horizontal"
                android:weightSum="1"
                >

                <EditText
                    android:id="@+id/Tarikh_Kharid"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:hint="تاریخ خرید"
                    android:focusableInTouchMode="true"/>



            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:orientation="horizontal"
                android:weightSum="2"
                >

                <EditText
                    android:id="@+id/Name"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:hint="نام"
                    android:focusableInTouchMode="true"/>


                <EditText
                    android:id="@+id/LastName"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:hint="نام خانوادگی"
                    android:focusableInTouchMode="true"/>


            </LinearLayout>


            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:orientation="horizontal"
                android:weightSum="2"
                >

                <EditText
                    android:id="@+id/CodeMelli"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:hint="کد ملی 10 رقمی"
                    android:focusableInTouchMode="true"/>


                <EditText
                    android:id="@+id/Mobile"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:hint="شماره موبایل"
                    android:focusableInTouchMode="true"/>


            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="150dp"
                android:orientation="horizontal"
                android:weightSum="2"
                >

                <EditText
                    android:id="@+id/Explain"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:hint="توضیحات مربوط به کالا (اختیاری)"
                    android:focusableInTouchMode="true"/>


            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="80dp"
                android:orientation="vertical"
                android:weightSum="2"
                >

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:text="جنسیت"
                    android:gravity="center_vertical"
                    android:layout_marginRight="5dp"
                    android:layout_weight="1"/>

               <RadioGroup
                   android:layout_width="match_parent"
                   android:layout_height="match_parent"
                   android:orientation="horizontal"
                   android:layout_weight="1"
                   android:weightSum="2">

                   <RadioButton
                       android:id="@+id/mard"
                       android:layout_width="match_parent"
                       android:layout_height="match_parent"
                       android:layout_weight="1"
                       android:text="مرد"/>

                   <RadioButton
                       android:id="@+id/zan"
                       android:layout_width="match_parent"
                       android:layout_height="match_parent"
                       android:layout_weight="1"
                       android:text="زن"/>


               </RadioGroup>


            </LinearLayout>


            <Space
                android:layout_width="wrap_content"
                android:layout_height="20dp"
                android:layout_weight="1" />


            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="50dp"
                android:orientation="horizontal"
                android:weightSum="1"
                >

               <TextView
                   android:id="@+id/confirm"
                   android:layout_width="match_parent"
                   android:layout_height="match_parent"
                   android:text="تایید"
                   android:gravity="center"
                   android:background="@drawable/confirm"
                   android:layout_weight="1"
                   android:clickable="true"
                   android:layout_margin="5dp"/>


            </LinearLayout>


        </LinearLayout>
    </ScrollView>
</LinearLayout>

这是我的主要xml,它有一个带有4个可点击文本的linearlayout,并通过选择这些文本查看页面之间的页面转换器。

主要XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:weightSum="2"
        android:orientation="vertical">


            <android.support.v7.widget.CardView
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1.85">

                <LinearLayout
                    android:layout_margin="5dp"
                    android:background="@drawable/card2"
                    android:orientation="horizontal"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:weightSum="4"
                    android:layout_weight="1.8">


                    <LinearLayout
                        android:orientation="vertical"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        >

                        <TextView
                            android:gravity="center"
                            android:text="کالای مسروقه"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:id="@+id/stolled"
                            android:layout_weight="1"
                            android:clickable="true"/>
                    </LinearLayout>

                    <LinearLayout
                        android:orientation="vertical"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        >

                        <TextView
                            android:gravity="center"
                            android:text="کالای گم شده"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:id="@+id/losted"
                            android:layout_weight="1"
                            android:clickable="true"
                            />
                    </LinearLayout>

                    <LinearLayout
                        android:orientation="vertical"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        >

                        <TextView
                            android:gravity="center"
                            android:text="پیدا شده"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:id="@+id/founded"
                            android:layout_weight="1"
                            android:clickable="true"/>
                    </LinearLayout>

                    <LinearLayout
                        android:orientation="vertical"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        >

                        <TextView
                            android:gravity="center"
                            android:text="کالای نو"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:id="@+id/fresh"
                            android:layout_weight="1"
                            android:clickable="true"/>
                    </LinearLayout>

                </LinearLayout>
            </android.support.v7.widget.CardView>




        <android.support.v4.view.ViewPager
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="0.15"
            android:id="@+id/ViewPager"
            >


        </android.support.v4.view.ViewPager>

    </LinearLayout>

</LinearLayout>

3 个答案:

答案 0 :(得分:1)

我认为,正如您所说的那样,您已在清单中声明 adjustResize ,如右下图所示?

 <activity
            android:name=".MainActivity"
            android:windowSoftInputMode="adjustResize"
            android:screenOrientation="landscape"/>

然后,请尝试添加

android:fitsSystemWindows="true"

在xml的父级布局中。

答案 1 :(得分:1)

ScrollView NavigationView navigationView = (NavigationView)findViewById(R.id.nav_view); Menu menu =navigationView.getMenu(); MenuItem nav_dashboard = menu.findItem(R.id.nav_dashboard); nav_dashboard.setVisible(true);

中添加此行
android:fillViewport="true"

<强>(或)

OncreateView() <ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true">

中添加此行
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);)

答案 2 :(得分:0)

我在清单中使用了adjustUnspecified并且它正常工作