2012-07-02 54 views
10

我一直在試圖讓這個滾動視圖滾動,並沒有這樣做的運氣。 我已經嘗試了許多類型的修復,但似乎無法得到一個工作。我希望能夠在選擇編輯框並且鍵盤佔用屏幕一半時滾動瀏覽我的頁面。這樣我就可以導航到頁面底部的編輯框和接受按鈕的其餘部分,而無需每次手動隱藏鍵盤。當顯示軟鍵盤時無法滾動滾動視圖

這裏是我的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> 

(請人幫我弄清楚這件事情了,它讓我瘋了!)。 我還想提一下,我已經嘗試了大部分修補程序,解決了類似問題的人員,如填充視圖端口,並啓用垂直滾動條,但這些幫助我解決了問題。我也嘗試將它們添加到父級佈局,但似乎也沒有工作。

+1

http://i.stack.imgur.com/uqJeW.png –

+0

好的,所以你說你想在鍵盤可見時能夠滾動?但是每次你在鍵盤屏幕外單擊時,它都會關閉,對吧? - 如果是這樣,那就是鍵盤的設計。當目標輸入視圖失去焦點時,它會關閉,因爲它不再關注目標視圖。 – Guardanis

+0

不,那不是我的問題。我的問題是當彈出鍵盤時,我無法滾動到我的應用程序中的其他文本框。我必須隱藏到鍵盤才能看到它們並輸入文字。我想能夠翻閱它。 – Shant

回答

16

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> 
+1

我在清單中的活動標籤中添加了建議,並且鍵盤仍然覆蓋了屏幕,但仍然無法滾動! – Shant

+2

@Shant,你應該只接受答案,如果它是正確的! –

+1

@Shant,嘗試使ScrollView成爲佈局中最外面的元素。只需將xmlns移入它即可。 –

2

我喜也遇到了這個問題。我的問題是我添加了adjustResize,如下圖所示在我的清單中

它仍然不會滾動。但在我的ScrolView的開始我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 =「無」,並解決了我的問題。只適用於對清單進行調整的人員無效。

相關問題