singleLine
XML レイアウト ファイルで使用されTextView
、EditText
次のような内容になります。
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true" />
一部の人々SOではsingleLine
非推奨と言われているが、他の人maxLines="1"
それでも使用することをお勧めします。が機能しない場合でも使用する必要があると思われる場合もあります。(ここ、ここ、 そしてここ)
この質問に答えるには、ドキュメントを参照するべきですよね?ここでは、次のように述べられています。
この定数は API レベル 3 では非推奨になりました。
この属性は非推奨です。
maxLines
静的テキストのレイアウトを変更する場合は代わりに を使用し、textMultiLine
編集可能なテキスト ビューの場合は inputType 属性のフラグを使用します (singleLine と inputType の両方が指定されている場合、inputType フラグは singleLine の値を上書きします)。
しかし、TextViewドキュメント内、廃止予定であるという表示はありません。android:singleLine
またはsetSingleLine
またはsetTransformationMethod
。比較すると、同じ TextView ドキュメントには、 や などの他のものは非推奨であるSTATUS_BAR_HIDDEN
と記載さfitSystemWindows
れています。では、singleLine
非推奨は省略されたものなのでしょうか、それとも「非推奨ではなくなった」のでしょうか、それとも何か他の理由があるのでしょうか。
この質問は以前に質問されたしかし、それは質問の主な焦点ではありませんでした(そして答えられませんでした)。
ベストアンサー1
あなたの質問に対する答えはすでにSOの1つにあると思いますリンクした投稿残念ながら、 の廃止はsingleLines
白か黒かの問題ではありません。
それは非推奨ですが、ないすぐにどこかへ行くつもりです。
廃止された理由は後継機に比べて性能は劣りますmaxLines
。SingleLineTransformationMethod
文字列内の改行と復帰を置き換えるには、 に配置しますTextView
。は、行数に基づいてmaxLines
の高さを調整するだけで、文字列の置き換えは行いません。TextView
この文字の置き換え方法はsingleLine
、予期せぬ形で壊れる(カスタム フォントを使用する場合など)。これらのパフォーマンスと信頼性の問題により、廃止されることになったのです。
しかし、それはどこにも行きません。あなたがリンクしたSOの投稿にあるように、それは多くの古いAndroidアプリケーションでまだ使用されています。そしてそれでも、時々は役に立つ(例えば、全体テキストを 1 行に収め、復帰改行を無視します。
非推奨になったからといって、必ずしも API がなくなるわけではありません。単に、その使用は推奨されないが、許可される可能性があることを意味します。