2010-05-17 16 views
5

में एडिटटेक्स्ट के भीतर स्क्रॉलिंग सक्षम करें हमारे ऐप (WordPress for Android) नए पोस्ट व्यू के लिए स्क्रॉलव्यू का उपयोग करता है, जहां कोई उपयोगकर्ता अपने नए ब्लॉग पोस्ट में प्रवेश करता है। पोस्ट सामग्री फ़ील्ड के लिए बड़े संपादन टेक्स्ट सहित इस दृश्य पर बहुत से फ़ील्ड हैं।स्क्रॉलव्यू

ऐसा प्रतीत होता है कि जब एक संपादन टेक्स्ट एक स्क्रॉलव्यू में होता है, तो स्क्रॉलव्यू स्क्रॉलिंग क्रिया को लेता है, इसलिए उपयोगकर्ता को संपादित टेक्स्ट क्षेत्र में बड़ी पोस्ट लिखने पर स्क्रॉल नहीं कर सकता है। क्या किया जा सकता है ताकि स्क्रॉलिंग संपादन टेक्स्ट और स्क्रॉलव्यू के भीतर दोनों काम करेगी?

यहां इस दृश्य के लिए लेआउट xml है, किसी भी मदद की सराहना की जाएगी! EditText कि स्क्रॉल की जरूरत है @ आईडी/सामग्री है:

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/main" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:scrollbars="none" 
    android:background="#FFF5F5F5"> 

<RelativeLayout android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_horizontal" 
       android:padding="10dip" 
       > 
    <RelativeLayout android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:background="@drawable/content_bg" 
       android:id="@+id/section1"> 
    <TextView android:id="@+id/l_section1" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:text="Post Content" 
       style="@style/WordPressSectionHeader"/> 
    <TextView android:id="@+id/l_title" 
       android:layout_below="@id/l_section1" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:text="@string/post_title"/> 

    <EditText android:id="@+id/title" 
       android:minHeight="40dip" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:background="@android:drawable/editbox_background" 
       android:autoText="true" 
       android:capitalize="sentences" 
       android:layout_below="@id/l_title"/> 

    <TextView android:id="@+id/l_content" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:text="@string/post_content" 
       android:layout_below="@id/title"/> 

    <EditText android:id="@+id/content" 
       android:gravity="top" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:background="@android:drawable/editbox_background" 
       android:minLines="5" 
       android:maxLines="5" 
       android:autoText="true" 
       android:capitalize="sentences" 
       android:layout_below="@id/l_content"/> 

<Button 
      android:id="@+id/bold" 
      android:background="@drawable/wp_button_small" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/content" 
      android:textStyle="bold" 
      android:textSize="22dip" 
      android:text="B" />   
<Button 
      android:id="@+id/em" 
      android:background="@drawable/wp_button_small" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignTop="@id/bold" 
      android:layout_toRightOf="@id/bold" 
      android:textStyle="italic" 
      android:textSize="22dip" 
      android:text="I " /> 

<Button 
      android:id="@+id/link" 
      android:background="@drawable/wp_button_small" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignTop="@id/em" 
      android:layout_toRightOf="@id/em" 
      android:textSize="22dip" 
      android:textColor="#006699" 
      android:text="link" /> 

<Button 
      android:id="@+id/bquote" 
      android:background="@drawable/wp_button_small" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignTop="@id/link" 
      android:layout_toRightOf="@id/link" 
      android:textSize="22dip" 
      android:text="b-quote" />   
       </RelativeLayout> 
<RelativeLayout android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:background="@drawable/content_bg" 
       android:id="@+id/section2" 
       android:layout_marginTop="10dip" 
       android:layout_below="@id/section1">    
    <TextView android:id="@+id/l_media" 
       android:layout_marginBottom="6dip" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:text="Media" 
       style="@style/WordPressSectionHeader"/>    
<Button 
      android:id="@+id/addPictureButton" 
      android:layout_marginTop="4dip" 
      android:background="@drawable/wp_button_small" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/l_media" 
      android:textSize="18dip" 
      android:text="@string/add"/> 

<Button 
      android:id="@+id/clearPicture" 
      android:background="@drawable/wp_button_small" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:visibility="gone" 
      android:textSize="18dip" 
      android:layout_alignBottom="@id/addPictureButton" 
      android:layout_toRightOf="@id/addPictureButton" 
      android:text="@string/clear" /> 

      <GridView 
        android:id="@+id/gridView" 
        android:layout_width="wrap_content" 
        android:layout_height="fill_parent" 
        android:gravity="fill_vertical" 
        android:numColumns="3" 
        android:visibility="gone" 
        android:layout_below="@id/addPictureButton">    
       </GridView> 
</RelativeLayout> 
<RelativeLayout android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:background="@drawable/content_bg" 
       android:id="@+id/section3" 
       android:layout_marginTop="10dip" 
       android:layout_marginBottom="10dip" 
       android:layout_below="@id/section2"> 
       <TextView android:id="@+id/l_tags_categories" 
       android:layout_marginBottom="6dip" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:text="Tags &amp; Categories" 
       style="@style/WordPressSectionHeader"/>    
        <TextView android:id="@+id/l_tags" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_below="@id/l_tags_categories" 
       android:text="@string/tags_separate_with_commas"/> 

    <EditText android:id="@+id/tags" 
       android:minHeight="40dip" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:background="@android:drawable/editbox_background" 
       android:autoText="true" 
       android:layout_below="@id/l_tags"/> 

    <TextView android:id="@+id/l_category" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:text="@string/categories" 
       android:layout_below="@id/tags" 
       android:layout_marginTop="10dip"/> 

    <Button 
      android:id="@+id/selectCategories" 
      android:background="@drawable/wp_button_small" 
      android:layout_below="@id/l_category" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textSize="18dip" 
      android:text="@string/select_categories" /> 

    <TextView android:id="@+id/selectedCategories" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="@string/selected_categories" 
       android:layout_below="@id/selectCategories"/>   
</RelativeLayout> 
    <RelativeLayout android:id="@+id/location_wrapper" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_below="@id/section3" 
       android:layout_marginTop="-10dip"> 
    <RelativeLayout android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:background="@drawable/content_bg" 
       android:id="@+id/section4" 
       android:layout_marginTop="10dip" 
       android:layout_marginBottom="10dip" 
       android:layout_below="@id/section3" 
       android:visibility="gone"> 
       <TextView android:id="@+id/l_location" 
       android:layout_marginBottom="6dip" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:text="@string/location" 
       style="@style/WordPressSectionHeader"/> 
       <TextView android:id="@+id/locationText" 
       android:layout_marginBottom="6dip" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:text="@string/loading" 
       android:layout_below="@id/l_location"/> 
       <Button 
      android:id="@+id/viewMap" 
      android:background="@drawable/wp_button_small" 
      android:layout_below="@id/locationText" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textSize="18dip" 
      android:text="View Map" />         
</RelativeLayout> 
</RelativeLayout> 
<RelativeLayout android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:background="@drawable/content_bg" 
       android:id="@+id/section5" 
       android:layout_marginTop="10dip" 
       android:layout_marginBottom="10dip" 
       android:layout_below="@id/location_wrapper"> 
       <TextView android:id="@+id/l_status" 
       android:layout_marginBottom="6dip" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:text="@string/status" 
       style="@style/WordPressSectionHeader"/>          
    <CheckBox android:id="@+id/publish" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/l_status" 
      android:text="@string/publish" 
      android:button="@drawable/wp_checkbox" 
      /> 
</RelativeLayout>    
<Button 
      android:id="@+id/post" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/section5" 
      android:layout_alignParentRight="true" 
      android:textSize="18dip" 
      android:background="@drawable/wp_button" 
      android:text="@string/save" /> 
<Button 
      android:id="@+id/upload" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignBottom="@id/post" 
      android:layout_toLeftOf="@id/post" 
      android:textSize="18dip" 
      android:background="@drawable/wp_button" 
      android:text="@string/upload_now" />    
</RelativeLayout> 
</ScrollView> 

उत्तर

2

क्या मैं एक मंच पर पढ़ा है से अब तक, एक ही स्क्रीन पर कई स्क्रॉल कंटेनर होने एक अच्छा विचार नहीं है। अब, वे पोस्ट आमतौर पर स्क्रॉलव्यू के साथ संयोजन में लिस्टव्यू, ग्रिडव्यू के बारे में थे, लेकिन अभी भी मेरे लिए ऐसा लगता है कि सबसे अच्छा समाधान स्क्रीन से फिर से डिजाइन करने के लिए फिर से डिजाइन करता है। आप एक ही स्क्रीन पर edittext की जरूरत है अपने OnCreate विधि में जोड़ना आप प्रारंभ के बाद android:fillViewport="true" और फिर आप अपने edittext में जोड़ने "android:minHeight="100dp" "

+0

धन्यवाद, शायद मेरे द्वारा क्लिक किए जाने पर संपादन टेक्स्ट को एक नए दृश्य में खोल दिया जाएगा ताकि पोस्ट सामग्री संपादित करते समय उपयोगकर्ता के पास अधिक स्क्रॉल नियंत्रण हो। – roundhill

-1

आप ड्रॉइंग के साथ scrollview जोड़ने की कोशिश कर सकते हैं। अपने edittext। यह मेरे लिए काम करता है।

edittext.setOnTouchListener(new View.OnTouchListener() { 

     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      Log.v("TAG", "CHILD TOUCH"); 

      // Disallow the touch request for parent scroll on touch of 
      // child view 
      if(event.getAction() == MotionEvent.ACTION_UP) 
       scrollview.requestDisallowInterceptTouchEvent(false); 
      else 
       scrollview.requestDisallowInterceptTouchEvent(true); 

      return false; 
     } 
    }); 

क्या किसी को छू लेती है, तो edittext तो। scrollview को निष्क्रिय फिर एक बार वे edittext से उनकी अंगुली उठा (एक बार वे इसके साथ किया जाता है) फिर से अपने कर कह रहा है स्क्रॉलव्यू सक्षम करें।

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