2012-07-02 49 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 =“无”,并解决了我的问题。只适用于对清单进行调整的人员无效。

相关问题