Android では XML 属性 singleLine は非推奨ですか? 質問する

Android では XML 属性 singleLine は非推奨ですか? 質問する

singleLineXML レイアウト ファイルで使用されTextViewEditText次のような内容になります。

<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白か黒かの問題ではありません。

それ非推奨ですが、ないすぐにどこかへ行くつもりです。

廃止された理由は後継機に比べて性能は劣りますmaxLinesSingleLineTransformationMethod文字列内の改行と復帰を置き換えるには、 に配置しますTextView。は、行数に基づいてmaxLinesの高さを調整するだけで、文字列の置き換えは行いません。TextView

この文字の置き換え方法はsingleLine予期せぬ形で壊れる(カスタム フォントを使用する場合など)。これらのパフォーマンスと信頼性の問題により、廃止されることになったのです。

しかし、それはどこにも行きません。あなたがリンクしたSOの投稿にあるように、それは多くの古いAndroidアプリケーションでまだ使用されています。そしてそれでも、時々は役に立つ(例えば、全体テキストを 1 行に収め、復帰改行を無視します。

非推奨になったからといって、必ずしも API がなくなるわけではありません。単に、その使用は推奨されないが、許可される可能性があることを意味します。

おすすめ記事