2012-12-26 57 views
10

現在、デバイスとしてSamsung Galaxy Tab 2を使用したアプリケーションを開発中です。 XMLでAndroidでEditTextにフルスクリーンを適用する

マイコードはこのコードが実行されると

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

、フルスクリーンデータ入力モード(抽出モード)のみが特定の状況で自動的にトリガされます。

コントロールの画面や配置に関係なく、このコントロールのテキストを編集する際に、ユーザーが完全なデータ入力画面を取得したいと考えています。

この質問の別の言い方: 内容に関係なく、自分のアクティビティのEditTextボックスに全画面データ入力モードを強制するにはどうすればよいですか?

+0

はあなたが アンドロイド試してみましたlayout_height =「fill_parent」 –

+0

おかげウスマンクルド人が、しかし、私の状況がわずかに異なっている、私は6つの、そのような箱を持っているので、私は彼らがフルに展開したいです画面はデータ入力が行われたときにのみ表示されます。 – skv

+0

AutoCompleteTectView ... –

答えて

5

私はこの問題を解決しましたが、実際には解決されませんでしたが、有効な回避策が見つかりました。

回避策は、テキストエディタ(全画面UIに似ています)を設計し、そのそれぞれのクリックで、新しいUIアクティビティが起動されるようにします(startActivityForResult())。これで完了コントロールが渡されます。呼び出しアクティビティに戻ります)、編集が完了すると、テキストがメイン画面に戻されます。

コントロールを転送するボックスにフォーカスがないことを確認して、コントロールを新しいUIにすぐに転送できるようにしました。

このようにして、キャンセルボタンを実装することができました。これにより、誤って変更を保存せずに元に戻ることができます。

私は新しいアイデアを公開していますが、これは私のために働いています。 Activity

コード:XMLで

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> 

私は、コードを使用し、フルスクリーンUIを作成するには、あなたがすることができます(http://android-richtexteditor.googlecode.com/

+2

これは素晴らしいアイデアです。私はまったく同じ状況にあり、あなたの足跡に従うことに決めました:)乾杯 – Bruce

+0

これは素晴らしい回避策です。ここで私の質問をチェックしてください。あなたがこのような状況にぶつかったら、私に知らせてください。 http:// stackoverflow。com/questions/29786797/requestfocus-is-making-the-scrollview-to-jump-even-the-view-over-the-a- –

+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)); 
      } 
     } 
    }); 

親レイアウトのLayoutParamsをインポートします。あなたの答えもうまくいくでしょう。 layout_width =「fiil_parent」 アンドロイド:

関連する問題