0

TextViewビューのサイズに合わせてa のテキストを変更する簡単な方法はありますか? テキストを切り捨てたり、省略記号を付けたりしたくないことに注意してください。別のテキストを設定したいのです。

たとえば、ビューが小さすぎる場合Experience:に使用したいのではなく(これらの文字列は両方ともリソースです)。Exp:

考えられるすべての画面サイズに対してカスタム レイアウト ファイルを作成することを「回避」できることはわかってい.xmlますが、可能であればこれを回避したいと考えています。私はすでにいくつかの異なるレイアウト ファイルを使用していますが、画面のサイズに合わせてレイアウトを大幅に変更する必要がある場合に限ります。また、状況によっては、a のテキストを動的に設定できるようにしたいのですがTextView、これは xml レイアウト ファイルでは実行できません。

単一行TextViewの s と幅だけに興味があります。

私が考える唯一の方法はTextView、元のテキストが収まらない場合にフォールバック テキストを使用するカスタム サブクラスを使用することですTextViewサイズかどうか。

4

1 に答える 1

0

You can try something like this:

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int screenWidth = size.x;

if( textView.getWidth() > screenWidth ) {
    textView.setText("Exp:");
} else {
    textView.setText("Experience:");
}

I'm not sure if you need to use getWidth() or getMeasuredWidth() so if it will not work, try second option.

于 2013-02-09T15:48:46.403 に答える