2013-01-13 11 views
6

में स्क्रॉलिंग ट्रिगर नहीं करता है, मुझे पता है कि संपादन टेक्स्ट के साथ समस्या के बारे में SO पर कई सवाल हैं, जो सॉफ्ट इनपुट कीबोर्ड दिखाते हैं और आपको मेनिफेस्ट में क्या होना चाहिए (एडजस्टन या एडजस्ट रीसाइज)।सॉफ़्ट कीबोर्ड स्क्रॉलव्यू

मैंने यहां बहुत सारे प्रश्न और उत्तर पढ़े हैं, लेकिन मेरी समस्या को हल करने में सक्षम नहीं हैं।

यह वास्तव में काफी सरल है: मेरे पास लॉगिन गतिविधि है और कुंजीपटल नहीं दिखाए जाने पर सभी सामग्री एक स्क्रीन पर फिट बैठती है। इस लॉगिन गतिविधि के निचले हिस्से में, मेरे पास एक बटन है जो हमेशा नीचे होना चाहिए। एक संपादन टेक्स्ट पर ध्यान केंद्रित करते समय, कीबोर्ड कुछ सामान दिखाता है और छुपाता है। जब कीबोर्ड चालू होता है, तो मैं नीचे स्क्रॉल करने में सक्षम होना चाहता हूं, लेकिन मैं नहीं कर सकता। अब, जब

enter image description here enter image description here

:

  • मैं प्रकट

यहाँ में गतिविधि के लिए "adjustPan" की स्थापना की है दो छवियों, बिना और कीबोर्ड के साथ कर रहे हैं कीबोर्ड ऊपर है, मैं बटन देखने के लिए नीचे स्क्रॉल करना चाहता हूं (पीला और नीचे)। मै यह नही कर सकता।

मैं बजाय सेट करते हैं, प्रकट में, "adjustRezise", मैं एक और अवांछित प्रभाव प्राप्त करने के रूप में यहां देखा जा सकता:

enter image description here

नीचे दिए गए बटन नहीं "के शीर्ष पर" है अन्य चीजें, लेकिन मैं स्क्रॉल नहीं कर सकता (ताकि "लॉग इन" बटन देखा जा सके)।

पहला सवाल यह है: स्क्रॉलिंग "एडजस्टपैन" के साथ काम क्यों नहीं कर रही है और जब कीबोर्ड सामान छिपा रहा है? यह उचित बात है जो मैं कहूंगा।

यहाँ मेरी एक्सएमएल है:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/linearLayout6" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/taxibg3" 
    android:orientation="vertical" > 

    <ScrollView 
     android:id="@+id/ScrollView" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_below="@id/login_logoBarInclude" 
     android:fillViewport="true" 
     android:orientation="vertical" > 

     <RelativeLayout 
      android:id="@+id/login_form" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" > 

      <LinearLayout 
       android:id="@+id/iv1" 
       android:layout_width="240dp" 
       android:layout_height="280dp" 
       android:layout_centerHorizontal="true" 
       android:layout_marginTop="5dp" 
       android:background="@drawable/login_square_adapted" 
       android:orientation="vertical" 
       android:paddingTop="15dp" > 

       <TextView 
        android:id="@+id/textView1" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:gravity="center_horizontal" 
        android:text="@string/vehicleLogin" 
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:textColor="#ffffff" /> 

       <FrameLayout 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="3dp" 
        android:layout_marginRight="3dp" 
        android:layout_marginTop="10dp" > 

        <include layout="@layout/menu_divider_horizontal" > 
        </include> 
       </FrameLayout> 

       <RelativeLayout 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="30dp" 
        android:layout_marginRight="30dp" 
        android:layout_marginTop="35dp" 
        android:gravity="center_horizontal" 
        android:orientation="vertical" > 

        <EditText 
         android:id="@+id/login_carNumber" 
         style="@style/EditTextDark" 
         android:layout_width="fill_parent" 
         android:layout_height="wrap_content" 
         android:layout_toRightOf="@+id/login_car_icon" 
         android:hint="@string/prompt_carNumber" 
         android:inputType="phone" 
         android:textAppearance="?android:attr/textAppearanceMedium" 
         android:textCursorDrawable="@null" > 

         <requestFocus /> 
        </EditText> 

        <ImageView 
         android:id="@+id/login_car_icon" 
         android:layout_width="40dp" 
         android:layout_height="40dp" 
         android:src="@drawable/user" /> 

        <EditText 
         android:id="@+id/login_password" 
         style="@style/EditTextDark" 
         android:layout_width="fill_parent" 
         android:layout_height="wrap_content" 
         android:layout_below="@id/login_carNumber" 
         android:layout_marginTop="10dp" 
         android:layout_toRightOf="@+id/login_lock_icon" 
         android:hint="@string/prompt_password" 
         android:inputType="phone" 
         android:textAppearance="?android:attr/textAppearanceMedium" 
         android:textCursorDrawable="@null" > 
        </EditText> 

        <ImageView 
         android:id="@+id/login_lock_icon" 
         android:layout_width="40dp" 
         android:layout_height="40dp" 
         android:layout_alignTop="@id/login_password" 
         android:layout_below="@id/login_car_icon" 
         android:src="@drawable/lock" /> 

        <Button 
         android:id="@+id/sign_in_button" 
         android:layout_width="fill_parent" 
         android:layout_height="40dp" 
         android:layout_alignParentBottom="true" 
         android:layout_centerHorizontal="true" 
         android:layout_marginBottom="10dp" 
         android:background="@drawable/button_rounded" 
         android:gravity="center_horizontal" 
         android:paddingTop="5dp" 
         android:text="@string/action_sign_in_short" 
         android:textColor="#000000" /> 
       </RelativeLayout> 
      </LinearLayout> 
     </RelativeLayout> 
    </ScrollView> 


    <Button 
     android:id="@+id/quit_app_button" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:text="@string/action_exit_app" /> 

</RelativeLayout> 

======= संपादित =========

तो, मैं यूसुफ सुझाव के अनुसार लेआउट बदल गया है, लेकिन अब "ऊंचाई बहुत बड़ी है", भले ही इसके लिए कोई कारण न हो, यानी अंत में बटन "बहुत नीचे" है, इसलिए आपको नीचे देखने के बजाय इसे देखने के लिए "बहुत नीचे" स्क्रॉल करने की आवश्यकता है स्क्रीन का मुझे आशा है कि आप समझते हैं कि मैं क्या मतलब है:

Notice the scrollbar on the right, and the button isnt seen, as it is "far down"

* सूचना अधिकार पर स्क्रॉलबार, और बटन नहीं है, के रूप में यह देखा "अब तक नीचे" है। इसके अलावा, पृष्ठभूमि फैली हुई है, इसका मतलब यह होगा कि "लाइनरलायॉय 6" (उलझन में, हां) नामक सापेक्ष लयआउट कुछ कारणों से बढ़ रहा है ... *

मैंने ऊंचाई को एक निश्चित डीपी पर सेट करने का प्रयास किया है, स्क्रॉलव्यू, और नीचे लेआउट लेकिन कुछ भी मदद नहीं की है।और XML इस तरह है:

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

    <RelativeLayout 
     android:id="@+id/linearLayout6" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/taxibg3" 
     android:orientation="vertical" > 

     <RelativeLayout 
      android:id="@+id/login_form" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      > 

      <LinearLayout 
       android:id="@+id/iv1" 
       android:layout_width="240dp" 
       android:layout_height="280dp" 
       android:layout_centerHorizontal="true" 
       android:layout_marginTop="25dp" 
       android:background="@drawable/login_square_adapted" 
       android:orientation="vertical" 
       android:paddingBottom="0dp" 
       android:paddingLeft="0dp" 
       android:paddingRight="0dp" 
       android:paddingTop="15dp" > 

       <TextView 
        android:id="@+id/textView1" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:gravity="center_horizontal" 
        android:text="@string/vehicleLogin" 
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:textColor="#ffffff" /> 

       <FrameLayout 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="3dp" 
        android:layout_marginRight="3dp" 
        android:layout_marginTop="10dp" > 

        <include layout="@layout/menu_divider_horizontal" > 
        </include> 
       </FrameLayout> 

       <RelativeLayout 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="30dp" 
        android:layout_marginRight="30dp" 
        android:layout_marginTop="35dp" 
        android:gravity="center_horizontal" 
        android:orientation="vertical" > 

        <EditText 
         android:id="@+id/login_carNumber" 
         style="@style/EditTextDark" 
         android:layout_width="fill_parent" 
         android:layout_height="wrap_content" 
         android:layout_toRightOf="@+id/login_car_icon" 
         android:hint="@string/prompt_carNumber" 
         android:inputType="phone" 
         android:textAppearance="?android:attr/textAppearanceMedium" 
         android:textCursorDrawable="@null" > 

         <requestFocus /> 
        </EditText> 

        <ImageView 
         android:id="@+id/login_car_icon" 
         android:layout_width="40dp" 
         android:layout_height="40dp" 
         android:src="@drawable/user" /> 

        <EditText 
         android:id="@+id/login_password" 
         style="@style/EditTextDark" 
         android:layout_width="fill_parent" 
         android:layout_height="wrap_content" 
         android:layout_below="@id/login_carNumber" 
         android:layout_marginTop="10dp" 
         android:layout_toRightOf="@+id/login_lock_icon" 
         android:hint="@string/prompt_password" 
         android:inputType="phone" 
         android:textAppearance="?android:attr/textAppearanceMedium" 
         android:textCursorDrawable="@null" > 
        </EditText> 

        <ImageView 
         android:id="@+id/login_lock_icon" 
         android:layout_width="40dp" 
         android:layout_height="40dp" 
         android:layout_alignTop="@id/login_password" 
         android:layout_below="@id/login_car_icon" 
         android:src="@drawable/lock" /> 
       </RelativeLayout> 

       <FrameLayout 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:layout_marginTop="30dp" 
        android:background="@drawable/login_square_half" 
        android:padding="0dp" > 

        <Button 
         android:id="@+id/sign_in_button" 
         android:layout_width="120dp" 
         android:layout_height="40dp" 
         android:layout_gravity="center_vertical|center_horizontal" 
         android:background="@drawable/button_rounded" 
         android:gravity="center_horizontal" 
         android:text="@string/action_sign_in_short" 
         android:textColor="#000000" /> 
       </FrameLayout> 
      </LinearLayout> 
     </RelativeLayout> 

     <Button 
      android:id="@+id/quit_app_button" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:text="@string/action_exit_app" /> 
    </RelativeLayout> 

</ScrollView> 

उत्तर

1

कोशिश adjustResize को resizeMode बदल रहा है और बाहर करने के लिए अपने RelativeLayoutlinearLayout6 अंदर से ScrollView चलती और wrap_content को RelativeLayout की layout_height की स्थापना।

+0

धन्यवाद, लेकिन यह काम नहीं किया। पूरी "स्क्रीन" अब नीचे की ओर बढ़ी है, वास्तविक स्क्रीन से बड़ा तरीका, चीजें "ओवरलैपिंग" और सभी प्रकार की अजीब चीजें हैं। रनटाइम-त्रुटियां भी दुर्भाग्य से :-( – Ted

+0

वास्तव में, यह काम कर सकता है, लेकिन समस्या ऊपर बताई गई है - क्षेत्र "नीचे" अब बहुत बड़ा है, यानी शुरुआत से भी मैं नीचे नीचे स्क्रॉल कर सकता हूं, जहां बटन है। लेकिन मुझे समझ में नहीं आ रहा है कि इतनी जगह नीचे क्यों है ... ऊपर अपना संपादन देखें। – Ted

संबंधित मुद्दे