AndroidのTextViewでは、文字が長すぎる場合は省略部分やスクロール表示を実現
6213 ワード
TextViewにはellipsize属性があり、文字が長すぎる場合、このコントロールをどのように表示するかを説明します.android:ellipsize="start"--省略記号が先頭2に表示されます.Android:ellipsize="end"--省略記号は末尾3に表示されます.Android:ellipsize="middle"--省略記号が中央に表示されます.android:ellipsize="marquee"–走馬灯で文字を左右にスクロールする3つの属性:android:singleLine="true"android:ellipsize="marquee"android:marqueeRepeatLimit="marquee_forever」Androidでは、テキストのスクロールを実現するためにScrollViewにTextViewを埋め込むことができますが、実際にはTextView自身も複数行スクロールを実現することができます.結局、ScrollViewには直接的なサブクラスレイアウトしか必要ありません.layoutでいくつかのプロパティを簡単に設定すれば簡単に実現できます.
もちろん、TextViewを動かすには、TextViewのsetMovementMethodメソッドを使用して、次のようなTextView tv=(TextView)findViewById(R.id.tvCWJ)のスクロールインスタンスを設定する必要があります.
tv.setMovementMethod(ScrollingMovementMethod.getInstance());//Android開発網のヒントに関するものはSDKのandroidを見ることができます.text.methodブランチの詳細については、TextViewの自動スクロールの実装方法について説明します.次に、2つの方法について説明します.
一、コードで実現する:
textView .setEllipsize(TextUtils.TruncateAt.MARQUEE); textView .setSingleLine(true); textView .setMarqueeRepeatLimit(6);
二、XMLで実現する:
すべてOKで、textViewがフォーカスを取得すると自動的にスクロールします.补充=============================================================================================================================private Runnable mScrollToBottom = new Runnable() { public void run() { mScrollView.scrollTo(0, offset); } };
onTouchの中
mHandler.post(mScrollToBottom); 補足=====================================================================================================================================
TextViewプロパティの添付
Android:emsはTextViewの幅をN文字の幅に設定します.Android:maxemsはTextViewの幅を最長N文字の幅に設定します.emsと同時使用時にemsオプションを上書きします.Android:minemsはTextViewの幅を最短でN文字の幅に設定します.emsと同時使用時にemsオプションを上書きします.Android:maxLength入力文字数を制限します.5に設定すると、漢字/数字/英字は5文字しか入力できません.Android:linesはテキストの行数を設定し、2行目にデータがなくても2行を表示します.Android:maxLinesは、widthまたはlayout_とテキストの最大表示行数を設定します.widthは組み合わせて使用し、超えた部分は自動的に改行され、超えた行数は表示されません.android:minLinesは、linesと同様にテキストの最小行数を設定します.Android:lineSpacingExtra行間隔を設定します.android:lineSpacingMultiplier行間隔の倍数を設定します.「1.2」android:numericが設定されている場合、TextViewにはデジタル入力方式があります.integer正整数、signed符号付き整数、decimal小数点浮動小数点数が設定されています.android:passwordより小さい」表示テキストandroid:phoneNumberが電話番号の入力方式に設定されています.
android:singleLine単行表示を設定します.もしlayoutとwidthとともに使用し、テキストがすべて表示されない場合は、後に「...」で表す.例えばandroid:text="test_singleLine ” android:singleLine=”true” android:layout_width="20 dp"では「t...」のみが表示されます.singleLineまたはfalseに設定しないと、テキストは自動的に改行されます.
Android:textAppearance文字の外観を設定します.「?android:attr/t e xtAppearanceLargeInverse」というように、システムが独自の外観を参照しています.システムにこのような外観があるかどうかを示します.そうしないと、デフォルトの外観が使用されます.設定できる値は、textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInverse/textAppearanceMedium/textAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmallInverse android:textColor設定テキスト色android:textColorHighlight選択されたテキストのベース色、デフォルトは青色android:textColorHint設定プロンプト情報テキストの色、デフォルトはグレーです.hintと一緒に使用します.android:textColorLink文字リンクの色.android:textScale Xテキスト間の間隔を設定します.デフォルトは1.0 fです.TextViewのスクリーンショットを参照してください.android:textSize文字サイズ、推奨メトリック単位sp、例えば「15 sp」android:textStyle設定フォント[bold(太字)0,italic(斜体)1,bolditalic(太くて斜め)2]は1つ以上設定でき、android:typeface設定テキストフォントを「|」で区切って、normal 0,sans 1,serif 2,monospace 3の定数値の1つである必要があります.
android:heightテキスト領域の高さ、サポートメトリック単位:px(画素)/dp/sp/in/mm(mm)android:maxHeightテキスト領域の最大高さandroid:minHeightテキスト領域の最小高さandroid:widthテキスト領域の幅、サポートメトリック単位:px(画素)/dp/in/mm(mm)、layout_widthの違いはここを見てください.android:maxWidthテキスト領域の最大幅を設定android:minWidthテキスト領域の最小幅を設定する
android:id="@+id/tvCWJ"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical"
android:singleLine="false"
android:maxLines="15"
android:textColor="#FF0000"
/>
< TextView
android:id = "@+id/app_shortcontent"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:singleLine = "true"
android:textColor = "#FFFFFFFF"
android:scrollHorizontally = "true"
android:focusable = "true"
android:ellipsize = "marquee"
android:marqueeRepeatLimit ="marquee_forever" />
もちろん、TextViewを動かすには、TextViewのsetMovementMethodメソッドを使用して、次のようなTextView tv=(TextView)findViewById(R.id.tvCWJ)のスクロールインスタンスを設定する必要があります.
tv.setMovementMethod(ScrollingMovementMethod.getInstance());//Android開発網のヒントに関するものはSDKのandroidを見ることができます.text.methodブランチの詳細については、TextViewの自動スクロールの実装方法について説明します.次に、2つの方法について説明します.
一、コードで実現する:
textView .setEllipsize(TextUtils.TruncateAt.MARQUEE); textView .setSingleLine(true); textView .setMarqueeRepeatLimit(6);
二、XMLで実現する:
"@+id/TextView01"android:layout_width="wrap_content"
android:layout_height="wrap_content"android:singleLine="true"
android:text="dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
android:marqueeRepeatLimit="marquee_forever"android:ellipsize="marquee"
android:scrollHorizontally="true"android:width="150dip">
すべてOKで、textViewがフォーカスを取得すると自動的にスクロールします.补充=============================================================================================================================private Runnable mScrollToBottom = new Runnable() { public void run() { mScrollView.scrollTo(0, offset); } };
onTouchの中
mHandler.post(mScrollToBottom); 補足=====================================================================================================================================
TextViewプロパティの添付
Android:emsはTextViewの幅をN文字の幅に設定します.Android:maxemsはTextViewの幅を最長N文字の幅に設定します.emsと同時使用時にemsオプションを上書きします.Android:minemsはTextViewの幅を最短でN文字の幅に設定します.emsと同時使用時にemsオプションを上書きします.Android:maxLength入力文字数を制限します.5に設定すると、漢字/数字/英字は5文字しか入力できません.Android:linesはテキストの行数を設定し、2行目にデータがなくても2行を表示します.Android:maxLinesは、widthまたはlayout_とテキストの最大表示行数を設定します.widthは組み合わせて使用し、超えた部分は自動的に改行され、超えた行数は表示されません.android:minLinesは、linesと同様にテキストの最小行数を設定します.Android:lineSpacingExtra行間隔を設定します.android:lineSpacingMultiplier行間隔の倍数を設定します.「1.2」android:numericが設定されている場合、TextViewにはデジタル入力方式があります.integer正整数、signed符号付き整数、decimal小数点浮動小数点数が設定されています.android:passwordより小さい」表示テキストandroid:phoneNumberが電話番号の入力方式に設定されています.
android:singleLine単行表示を設定します.もしlayoutとwidthとともに使用し、テキストがすべて表示されない場合は、後に「...」で表す.例えばandroid:text="test_singleLine ” android:singleLine=”true” android:layout_width="20 dp"では「t...」のみが表示されます.singleLineまたはfalseに設定しないと、テキストは自動的に改行されます.
Android:textAppearance文字の外観を設定します.「?android:attr/t e xtAppearanceLargeInverse」というように、システムが独自の外観を参照しています.システムにこのような外観があるかどうかを示します.そうしないと、デフォルトの外観が使用されます.設定できる値は、textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInverse/textAppearanceMedium/textAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmallInverse android:textColor設定テキスト色android:textColorHighlight選択されたテキストのベース色、デフォルトは青色android:textColorHint設定プロンプト情報テキストの色、デフォルトはグレーです.hintと一緒に使用します.android:textColorLink文字リンクの色.android:textScale Xテキスト間の間隔を設定します.デフォルトは1.0 fです.TextViewのスクリーンショットを参照してください.android:textSize文字サイズ、推奨メトリック単位sp、例えば「15 sp」android:textStyle設定フォント[bold(太字)0,italic(斜体)1,bolditalic(太くて斜め)2]は1つ以上設定でき、android:typeface設定テキストフォントを「|」で区切って、normal 0,sans 1,serif 2,monospace 3の定数値の1つである必要があります.
android:heightテキスト領域の高さ、サポートメトリック単位:px(画素)/dp/sp/in/mm(mm)android:maxHeightテキスト領域の最大高さandroid:minHeightテキスト領域の最小高さandroid:widthテキスト領域の幅、サポートメトリック単位:px(画素)/dp/in/mm(mm)、layout_widthの違いはここを見てください.android:maxWidthテキスト領域の最大幅を設定android:minWidthテキスト領域の最小幅を設定する