2012-12-26 24 views
10

मैं वर्तमान में सैमसंग गैलेक्सी टैब 2 के साथ अपने डिवाइस के रूप में एक ऐप विकसित कर रहा हूं।एंड्रॉइड में संपादन टेक्स्ट पर फोर्स फुलस्क्रीन

मेरे एक्सएमएल में कोड है:

<EditText 
    android:id="@+id/analysis_text" 
    style="@style/icon_text" 
    android:imeOptions="actionDone" 
    android:inputType="textMultiLine" 
    android:onClick="onBtnClicked" 
/> 

जब यह कोड निष्पादित करता है, पूर्ण स्क्रीन डेटा प्रविष्टि मोड (निकालें मोड) स्वचालित रूप से केवल कुछ परिस्थितियों में शुरू हो रहा है।

मैं इस नियंत्रण में पाठ को संपादन स्क्रीन या नियंत्रण की स्थिति की परवाह किए बिना, जबकि एक पूर्ण डेटा प्रविष्टि स्क्रीन पाने के लिए मेरे उपयोगकर्ताओं चाहते हैं।

इस प्रश्न का एक और पुनरावृत्ति: मैं अपनी गतिविधि में संपादन टेक्स्ट बॉक्स के लिए पूर्ण स्क्रीन डेटा प्रविष्टि मोड को कैसे बल दूं, इससे कोई फर्क नहीं पड़ता कि सामग्री क्या है?

+0

आप की कोशिश की है एंड्रॉयड: layout_width = "fiil_parent" एंड्रॉयड: layout_height = "fill_parent" –

+0

धन्यवाद उस्मान कुर्द, हालांकि मेरी स्थिति है थोड़ा अलग है, मैं छह ऐसे बक्से हैं, तो मैं उन्हें पूर्ण करने के लिए विस्तार करना चाहते स्क्रीन प्रविष्टि तब होती है जब स्क्रीन प्रविष्टि होती है। – skv

+0

AutoCompleteTectView के लिए जाएं ... –

उत्तर

5

मैंने इस समस्या को हल किया, वास्तव में हल नहीं किया, लेकिन एक वैध कार्य-आसपास पाया।

वैकल्पिक हल है कि मैं एक पाठ संपादक और उन EditBox तों (ताकि startActivityForResult() के साथ नए यूआई गतिविधि triggerred है में से प्रत्येक के लिए क्लिक करें कि एक बार वे पूरा कर रहे हैं नियंत्रण हाथ है पर (जो फुलस्क्रीन यूआई के समान दिखता है) तैयार किया गया है कॉलिंग गतिविधि पर वापस) और संपादन के पूरा होने के बाद पाठ को मुख्य स्क्रीन में स्थानांतरित कर दिया जाता है।

मैंने यह भी सुनिश्चित किया कि नियंत्रण में स्थानांतरित करने वाले वे बॉक्स फोकस नहीं करते हैं ताकि वे तुरंत नए यूआई पर नियंत्रण स्थानांतरित कर सकें।

इस तरह से मैं एक रद्द बटन है, जो अब वास्तव में उपयोगकर्ता के परिवर्तन उन्होंने गलती करता है बिना सहेजे जाने के लिए अनुमति देता है को लागू करने में सक्षम है।

मैं नए विचारों के लिए खुला हूं, लेकिन यह मेरे लिए काम करता है।

Activity में कोड: एक्सएमएल में

public void onBtnClicked(View v) { 
    EditText current_text_box = (EditText) v; 

    Intent intent = new Intent(ObservationActivity.this, 
      TexteditorActivity.class); 
    intent.putExtra("start_text", current_text_box.getText().toString()); 
    intent.putExtra("start_position", current_text_box.getSelectionStart()); 
    startActivityForResult(intent, v.getId()); 
} 

कोड:

<EditText 
    android:id="@+id/observation_text" 
    style="@style/icon_text" 
    android:focusable="false" 
    android:imeOptions="flagNoExtractUi" 
    android:inputType="textMultiLine" 
    android:onClick="onBtnClicked" > 
</EditText> 

पूर्ण स्क्रीन यूआई मैं कोड का इस्तेमाल किया बनाने के लिए, आप उपयोग कर सकते हैं किसी भी तरह (http://android-richtexteditor.googlecode.com/)

+2

यह एक शानदार विचार है, मैं एक ही स्थिति में हूं और मैंने आपके कदमों का पालन करने का निर्णय लिया है :) चीयर्स – Bruce

+0

यह वास्तव में एक अच्छा कामकाज है। कृपया यहां मेरे प्रश्न की जांच करें। और अगर आप इस स्थिति में फंस गए तो मुझे बताएं। http: // stackoverflow।कॉम/प्रश्न/2 9 786797/requestfocus-is-making-the-scrollview-to-jump-even-the-view-is-well-the- –

+0

404 का सामना करना पड़ रहा है। सहायता –

0

यू कैन यह

yourEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() { 
     @Override 
     public void onFocusChange(View v, boolean hasFocus) { 
      if(hasFocus){ 
       yourEditText.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); 
      } 
     } 
    }); 
प्रयास करें

अपने माता-पिता लेआउट का लेआउट पैराम आयात करें। आपका जवाब भी अच्छी तरह से काम करेगा।