2016-10-18 10 views
5

AndroidのUITextView(iOS Devから知られている)に相当するものを探しています。AndroidのUITextView(EditText?)

具体的には、複数のTextViewのうちの1つを選択し、テキストを入力して(改行を含む)TextViewを再度選択できるようにしたいと思います。

私はEditText要素を認識していますが、キーボードの "Done Editing"と "Enter"ボタンの両方を設定することができないので、私は本当にTextField 。

多くの感謝!

+0

[1](http://stackoverflow.com/questions/28516948/what-is-the-equivalent-of -android-textview-in-ios) – Kuro

+0

このリンクをご覧ください.. http://stackoverflow.com/questions/5014219/multiline-edittext-with-done-softinput-action-label-on-2-3 –

答えて

5

xmlセクションから、あなたのedittextsに移動し、 'inputtype'属性をtextに設定します。こうすることで、キーボードが開いているときには、「完了」ボタンまたは「次へ」ボタンが表示されます。

+0

私はすでにこれを試しましたが、ユーザーは改行を入力することができませんでしたか?例えば、ユーザがいくつかの箇条書きをタイプしたいと思う可能性がある。 – Faser

+0

ああ、新しいラインと終了ボタンの両方が必要なので、私はそれについて知らない。 – user6650650

+0

inputType属性を 'textMultiLine'に設定する方法はありますか。それは働くだろうか? – user6650650

1

私はこれを行う方法がないと思います。 1つだけimeOptionを選択できます。複数行とimeOptionを許可することができますactionDone。たくさんの行を入力すると、新しい行が表示されますが、行を縮める機会はありません。ここ は、トピックへのリンクです:

How to use more then one imeOptions in android

Android EditText: Done instead of Enter or Word Wrap instead of Multi Line

Text Fields(あなたが唯一のオプションを選択することができていることがわかります「指定のキーボードアクション」をお読みください。)

私がいることを知っています満足できるものではありませんが、なぜこれが不可能なのか理解するのに役立つと思います。

+0

あなたの答えをありがとう。ユーザーがテキストを入力して「編集」モードを終了できる代替デザインパターンに関する提案がありますか?ありがとう! – Faser

3

Androidでは、iOSと異なり、ユーザーはキーボードを閉じるための「戻るボタン」を常に使用しています(「テキストビューの選択を解除する」の意味)。 EditTextの編集を終了するだけの場合は、「完了」ボタンは必要ありません。さらに、別のUIビューをクリックしてeditTextがユーザーの目に合わない場合は、

editText.setOnFocusChangeListener(new View.OnFocusChangeListener() { 
      @Override 
      public void onFocusChange(View v, boolean hasFocus) { 

      } 
     }); 

をご利用いただけます。

私は、キーボードと "次の"キーボードボタンで同時に改行することはできません。私の提案は、「完了」または「次へ」ボタンとして機能するビューにフォーカスがあるときに、edittextのすぐ隣にボタンを表示させることです。

希望すると助かります!

1

私はクライアントにアンドロイドアプリケーションを開発している間、同様の問題に遭遇しました。彼らはIOSの動作に合わせてTextviewを実装するように頼んだ。 Androidにはそのような動作はありませんが、Androidを操作してIOSを動作させることができます。ここに私がしたことがあります。

  1. 各フィールドごとにFramelayoutを作成し、Framelayout内でテキストを編集してテキストを編集し、デフォルトで編集テキストを非表示にします。
  2. textviewのonclick()リスナーを実装します。
  3. ユーザーがtextviewをクリックすると、Textviewが非表示になり、編集テキストが表示され、キーボードが開きます(すぐにポップアップすることはありません)。ユーザがテキストの入力を完了したら、完了ボタンをクリックしてキーボードをクリックし、キーボード操作を却下し、またプレスイベントをバック検出する。これらのイベントが発生すると、編集テキストを非表示にして、テキストビューにテキストの編集データを入力して表示します。

これが役に立ちます。

0

これはあなたのために働くことを期待することができます。仕事がなければ、私は自分のベストを尽くすつもりです。

次の編集テキストの

:私はあなたの心配はこれと同じだと思うandroid:imeOptions="actionNext"

<android.support.design.widget.TextInputLayout 
       android:layout_width="match_parent" 
       android:textColorHint="#d4d0d0" 
       android:layout_height="wrap_content"> 

       <AutoCompleteTextView 
        android:id="@+id/userName" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:hint=" Your Name " 
        android:theme="@style/EditScreenTextInputLayoutStyle" 
        android:textColor="#ffff" 
        android:imeOptions="actionNext" 
        android:textColorHint="#ffff" 
        android:inputType="textPersonName" 
        android:textSize="15sp" 
        android:maxLines="1" 
        android:singleLine="true" /> 

      </android.support.design.widget.TextInputLayout>