簡體   English   中英

當顯示軟鍵盤時,無法讓ScrollView滾動

[英]Can not get ScrollView to scroll when soft keyboard is shown

我一直試圖讓這個滾動視圖滾動,並沒有任何運氣這樣做。 我嘗試了很多類型的修復,但似乎無法使用一個。 我希望能夠在選擇編輯框並且鍵盤占據屏幕一半時滾動瀏覽我的頁面。 這樣我就可以導航到頁面底部的其余編輯框和接受按鈕,而不必每次都手動隱藏鍵盤。

這是我的xml代碼:

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



        <TextView
          android:id="@+id/textView1"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:background="#AAA"
          android:text="Input Configuration"
          android:textAppearance="?android:attr/textAppearanceLarge"
          android:textColor="#000" >
         </TextView>

             <ScrollView
               android:id="@+id/input_scroll_view"
               android:layout_width="fill_parent"
               android:layout_height="wrap_content" >

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



                      <LinearLayout
                       android:id="@+id/linearLayout10"
                       android:layout_width="match_parent"
                       android:layout_height="wrap_content"
                       android:layout_marginTop="20dp"
                       android:orientation="horizontal" >

                      <TextView
                       android:id="@+id/textView13"
                       android:layout_width="wrap_content"
                       android:layout_height="wrap_content"
                       android:text="TextView"
                       android:textAppearance="?android:attr/textAppearanceMedium"
                       android:textColor="#000"
                       android:textStyle="bold" >
                      </TextView>

            <TextView
                android:id="@+id/textView11"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Enable or Disable"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="#FFF" >
            </TextView>
        </LinearLayout>

        <LinearLayout
            android:id="@+id/linearLayout11"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp" >

            <RadioGroup
                android:id="@+id/DisableEnable"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:addStatesFromChildren="true"
                android:orientation="horizontal" >

                <RadioButton
                    android:id="@+id/disableButton"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:checked="true"
                    android:text="Disable"
                    android:textColor="#FFF" >
                </RadioButton>

                <RadioButton
                    android:id="@+id/enableButton"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="100dp"
                    android:text="Enable"
                    android:textColor="#FFF" >
                </RadioButton>
            </RadioGroup>
        </LinearLayout>

        <!-- <LinearLayout -->
        <!-- android:id="@+id/linearLayout3" -->
        <!-- android:layout_width="match_parent" -->
        <!-- android:layout_height="wrap_content" -->
        <!-- android:layout_marginTop="20dp" -->
        <!-- android:orientation="horizontal" > -->


        <!-- <TextView -->
        <!-- android:id="@+id/textView14" -->
        <!-- android:layout_width="wrap_content" -->
        <!-- android:layout_height="wrap_content" -->
        <!-- android:text="TextView" -->
        <!-- android:textAppearance="?android:attr/textAppearanceMedium" -->
        <!-- android:textColor="#000" -->
        <!-- android:textStyle="bold" -->
        <!-- android:visibility="invisible" > -->
        <!-- </TextView> -->


        <!-- <TextView -->
        <!-- android:id="@+id/textView3" -->
        <!-- android:layout_width="wrap_content" -->
        <!-- android:layout_height="wrap_content" -->
        <!-- android:text="Positive/Negative Trigger" -->
        <!-- android:textAppearance="?android:attr/textAppearanceMedium" -->
        <!-- android:textColor="#FFF" -->
        <!-- android:visibility="invisible" > -->
        <!-- </TextView> -->
        <!-- </LinearLayout> -->


        <!-- <LinearLayout -->
        <!-- android:id="@+id/linearLayout4" -->
        <!-- android:layout_width="match_parent" -->
        <!-- android:layout_height="wrap_content" -->
        <!-- android:orientation="vertical" > -->


        <!-- <RadioGroup -->
        <!-- android:id="@+id/PosNeg" -->
        <!-- android:layout_width="wrap_content" -->
        <!-- android:layout_height="wrap_content" -->
        <!-- android:orientation="horizontal" -->
        <!-- android:visibility="invisible" android:clickable="false"> -->


        <!-- <RadioButton -->
        <!-- android:id="@+id/positive_trigger" -->
        <!-- android:layout_width="wrap_content" -->
        <!-- android:layout_height="wrap_content" -->
        <!-- android:checked="true" -->
        <!-- android:text="Positive" -->
        <!-- android:textColor="#FFF" android:clickable="false"> -->
        <!-- </RadioButton> -->


        <!-- <RadioButton -->
        <!-- android:id="@+id/negative_trigger" -->
        <!-- android:layout_width="wrap_content" -->
        <!-- android:layout_height="wrap_content" -->
        <!-- android:layout_marginLeft="100dp" -->
        <!-- android:text="Negative" -->
        <!-- android:textColor="#FFF" android:clickable="false"> -->
        <!-- </RadioButton> -->
        <!-- </RadioGroup> -->
        <!-- </LinearLayout> -->

        <LinearLayout
            android:id="@+id/linearLayout5"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="25dp"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/textView15"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="TextView"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="#000"
                android:textStyle="bold"
                android:visibility="invisible" >
            </TextView>

            <TextView
                android:id="@+id/textView4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Type of Trigger"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="#FFF"
                android:visibility="invisible" >
            </TextView>
        </LinearLayout>

        <LinearLayout
            android:id="@+id/linearLayout6"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <RadioGroup
                android:id="@+id/TypeTrigger"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:visibility="invisible" >

                <RadioButton
                    android:id="@+id/constant_trigger"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:checked="true"
                    android:text="Constant"
                    android:textColor="#FFF"
                    android:visibility="visible" >
                </RadioButton>

                <RadioButton
                    android:id="@+id/pulse_trigger"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="100dp"
                    android:text="Pulse"
                    android:textColor="#FFF" >
                </RadioButton>
            </RadioGroup>
        </LinearLayout>

        <LinearLayout
            android:id="@+id/linearLayout2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="25dp" >

            <TextView
                android:id="@+id/textView16"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textStyle="bold"
                android:visibility="invisible" />

            <TextView
                android:id="@+id/textView17"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text=": Continuous or One Time (One Time Only Available for                         Pulsed Input(s))"  
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:visibility="invisible" />
            </LinearLayout>

            <LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <RadioGroup
                android:id="@+id/contOneTime"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:visibility="invisible" >

                <RadioButton
                    android:id="@+id/continuous_trigger"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:checked="true"
                    android:text="Continuous" />

                <RadioButton
                    android:id="@+id/oneTime_trigger"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="80dp"
                    android:text="One Time" />
            </RadioGroup>
           </LinearLayout>

           <LinearLayout
            android:id="@+id/linearLayout7"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="25dp"
            android:orientation="vertical"
            android:visibility="visible" >

            <TextView
                android:id="@+id/textView5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Timer Configuration For Selected Input"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="#FFF"
                android:visibility="invisible" >
            </TextView>
           </LinearLayout>


           <LinearLayout
            android:id="@+id/linearLayout8"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/textView6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Number of Pulses"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="#FFF"
                android:visibility="invisible" >
            </TextView>

            <EditText
                android:id="@+id/NumberOfPulses"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:hint="0"
                android:inputType="number"
                android:numeric="integer"
                android:visibility="invisible" >

                <requestFocus>
                </requestFocus>
            </EditText>

            <TextView
                android:id="@+id/textView7"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="0.34"
                android:text=" within,"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="#FFF"
                android:visibility="invisible" >
            </TextView>
           </LinearLayout>

           <LinearLayout
            android:id="@+id/linearLayout9"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:visibility="visible" >

            <EditText
                android:id="@+id/Minutes"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="0.00"
                android:hint="0"
                android:inputType="number"
                android:numeric="integer"
                android:visibility="invisible" >
            </EditText>

            <TextView
                android:id="@+id/textView8"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="0.00"
                android:text="Minutes,"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="#FFF"
                android:visibility="invisible" >
            </TextView>

            <EditText
                android:id="@+id/Seconds"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="0.00"
                android:hint="0"
                android:inputType="number"
                android:numeric="integer"
                android:visibility="invisible" >
            </EditText>

            <TextView
                android:id="@+id/textView9"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Seconds,"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="#FFF"
                android:visibility="invisible" >
            </TextView>

            <EditText
                android:id="@+id/Milliseconds"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="0.00"
                android:hint="0"
                android:inputType="number"
                android:numeric="integer"
                android:visibility="invisible" >
            </EditText>

            <TextView
                android:id="@+id/textView10"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Milliseconds."
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="#FFF"
                android:visibility="invisible" >
            </TextView>

            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="0.00"
                android:text="Medium Text"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:visibility="invisible" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/linearLayout13"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:weightSum="1" >

            <Button
                android:id="@+id/inputAccept"
                android:layout_width="159dp"
                android:layout_height="wrap_content"
                android:layout_weight="0.04"
                android:text="Accept" >
            </Button>

            <Button
                android:id="@+id/button3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button"
                android:visibility="invisible" >
            </Button>

            <Button
                android:id="@+id/inputSave"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="0.06"
                android:text="Save"
                android:visibility="invisible" >
            </Button>

            <Button
                android:id="@+id/button5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button"
                android:visibility="invisible" >
            </Button>

            <Button
                android:id="@+id/inputLoad"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="0.05"
                android:text="Load"
                android:visibility="invisible" >
                </Button>
            </LinearLayout>
         </LinearLayout>
       </ScrollView>

    </LinearLayout>

(請有人幫我解決這個問題,它讓我發瘋!)。 我還想提一下,我已經嘗試了大多數修復程序,其中有類似問題的人,例如填充視圖端口,以及啟用垂直滾動條,這些都沒有幫助我解決問題。 我也嘗試將它們添加到父布局中,但似乎也沒有用。

android:windowSoftInputMode="adjustResize"添加到AndroidManifest.xml中的<activity>標記。 這將導致在顯示軟件鍵盤后將屏幕調整為剩余的空間。 因此,您將能夠滾動,因為鍵盤不會以任何方式覆蓋屏幕。

編輯:

我寫了一個最小的例子並進行了測試。 除非存在巨大的誤解,否則請嘗試使用此代碼,然后找出為什么您的代碼不起作用:

xml布局:

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

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

        <TextView
            android:layout_height="2000dp"
            android:layout_width="wrap_content"
            android:gravity="top"
            android:text="Scroll Down!"/>

        <EditText
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            android:hint="Enter Text"
            />
    </LinearLayout>
</ScrollView>

表現:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example"
          android:versionCode="1"
          android:versionName="1.0">
    <uses-sdk android:minSdkVersion="15"/>
    <application android:label="@string/app_name" android:icon="@drawable/ic_launcher">
        <activity android:name="MyActivity"
                  android:label="@string/app_name"
                android:windowSoftInputMode="adjustResize"
                >
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>
</manifest>

嗨,我也遇到了這個問題。 我遇到的問題是我在我的Manifest中添加了adjustResize,如下所示

它仍然不會滾動。 但是在我的ScrollView開頭的xml文件中

<ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/top"
    android:scrollbars="none" >

我刪除了android:scrollbars =“none”,這解決了我的問題。 只適用於對清單進行調整不起作用的任何人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM