AndroidでTextViewの詳細


public class
TextView
extends  View
implements ViewTreeObserver.OnPreDrawListener
java.lang.Object
   ↳
android.view.View
 
   ↳
android.widget.TextView
Known Direct Subclasses
Button,  CheckedTextView,  Chronometer,  DigitalClock,  EditText,  TextClock
Known Indirect Subclasses
AutoCompleteTextView,  CheckBox,  CompoundButton,  ExtractEditText,  MultiAutoCompleteTextView,  RadioButton,  Switch,  ToggleButton
Class Overview
Displays text to the user and optionally allows them to edit it. A TextView is a complete text editor, however the basic class is configured to not allow editing; see  EditText  for a subclass that configures the text view for editing.
XML attributes
See  TextView AttributesView Attributes
http://developer.android.com/reference/android/widget/TextView.html
異なるテキストフォントを制御
TextViewオブジェクトには、setTextSizeを使用してフォントサイズを変更したり、setType faceを使用して文字フォントを指定したりするなど、フォントに関連する方法がたくさんあります.ここでは,外部リソースassetsにより外部のフォントファイル(The Type Font)を参照し,さらにTypefaceクラスのcreateFromAssetメソッドにより,TextViewがsettypefaceによりフォントをスムーズに変更できるようにすることを主に解説する.
/*assetsの下にfontsフォルダを事前に作成する必要があります
*使用するフォントファイル(.ttf)を入れます.
*Typefaceオブジェクトを作成するためにcreateFromAsset()に相対パスを指定します*/
        AssetManager mgr = getAssets();         Typeface tf = Typeface.createFromAsset(mgr, "fonts/digifaw.ttf");         myText.setTypeface(tf);
あるいはsetTypeface(Typeface.createFromAsset(getAssets(),"fonts/digifaw.ttf"));
assets/fonts/digifaw.ttf
外部フォントファイルをfonts/の下に置くと、AssetsManagementで外部リソースを参照できます.ここで重要なのは、フォントファイルがTrue Type Font形式に合致する必要があることです.そうでなければ、プログラムのコンパイル中にエラーが発生しなくても、実行時にフォントを変更できない場合があります.
上記のプログラムではTypefaceクラスを使用し、外部フォントファイルを使用して文字のフォントを変更します.しかし、現在のAndroidのバージョンではTrue Typeフォントのサポートに問題があるようで、サポートされていないフォントを使ってもAndroidはエラーメッセージを出さず、Droid Sansのデフォルトフォントで置き換えられるため、外部フォントを使ってもフォントが変化していないことに気づいた場合、Androidがプログラム自体ではなくこのフォントをサポートしていないことが原因です.
外部資源でType-faceを構築するほか、defaultFromStyleでAndroid内蔵のいくつかのType-faceを使用することもできる.
定数名および概要:
int BOLD 1 ; int BOLD_ITALIC 3;  Typeface DEFAULT;  Typeface DEFAULT_BOLD;  int ITALIC 2;  
Typeface MONOSPACE;  int NORMAL 0;  Typeface SANS_SERIF;  Typeface SERIF.
属性中:android:typeface="bold"コード中:myText.setTypeface(typeface);
Android:typefaceテキストフォントを設定するには、normal 0,sans 1,serif 2,monospace(等幅フォント)3の定数値の1つである必要があります.
フォントファイルを携帯電話に入れるだけでなく、フォントをimportでプロジェクトリソースにインポートする方法は以下の通りです.
Resources.StyledAttributes resFont =getContext().obtainStyledAttributes(attrs,R.styleable.UnicodeTextView);
String fontName=resFont.getString(R.styleable.UnicodeTextView_font);
if(fontName!=null){/*ここでフォントを変更するプログラムクリップを処理*/}
android:textStyle設定フォント[bold(太字)0,italic(斜体)1,bolditalic(太くて斜め)2]は、1つ以上を「|」で区切ることができます
テキストフォントサイズの制御
コード中:myText.setTextSize(22);
属性内:android;textSize="22sp"
android:textScale Xテキスト間隔を設定します.デフォルトは1.0 fです.
文字の色を変更
属性内:android:textColor="#ffff"
コード内:setTextColor(int);
android:textColorHighlight選択されたテキストの下色、デフォルトは青色android:textColorHintプロンプト情報テキストの色、デフォルトはグレーです.hintと一緒に使用します.
Android:includeFontPadding設定テキストに上部と下部の余分な空白が含まれているかどうか、デフォルトはtrueです.
Android:textAppearance文字の外観を設定します.「?android:attr/textAppearanceLargeInverse」というように、androidシステムが持参した外観を参照しています.システムにこのような外観があるかどうかを示します.そうしないと、デフォルトの外観が使用されます.次のような選択肢があります.textAppearanceButton/textAppearanceInverse/textAppearanceLargeInverse/textAppearanceMedium/textAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmall
その他のプロパティー
①android:drawableBottomはtextの下に画像のようなdrawableを出力します.色を指定するとtextの背景がその色に設定され、backgroundと使用すると後者が上書きされます.②android:drawableLeftはtextの左側に画像のようなdrawableを出力します.
③android:drawableRight textの右側にdrawableを出力します.
④android:drawableTopはtextの真上にdrawable⑤android:drawablePaddingを出力してtextとdrawable(画像)の間隔を設定し、drawableLeft、drawableRight、drawableTop、drawableBottomとともに使用し、負数に設定でき、単独で使用しても効果がありません.
Android:ellipsize設定文字が長すぎる場合、このコントロールはどのように表示されますか.「start」--省略記号が先頭に表示されます.end」--省略記号は末尾に表示されます.middle—-省略記号が中央に表示されます.」marquee」--ランニングライトで表示されます(アニメーションは横方向に移動します).
android:singleLine単行表示を設定します.もしlayoutとwidthとともに使用し、テキストがすべて表示されない場合は、後に「...」で表す.例えばandroid:singleLine="true"android:layout_width=「20 dp」は部分のみを示します.singleLineまたはfalseに設定しないと、テキストは自動的に改行されます.
Android:scrollHorizontally設定テキストがTextViewの幅を超えている場合、横引きバーが発生するかどうか.
        android:id="@+id/mytv"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:ellipsize="marquee"        android:focusable="true"        android:focusableInTouchMode="true"        android:marqueeRepeatLimit="marquee_forever"        android:singleLine="true"        android:text=「お知らせ:走馬灯の効果を練習しています.一緒に勉強しましょう.2013年2月21日にこの言葉を書きました.一緒に勉強しましょう」/>
android:heightテキスト領域の高さを設定し、メトリック単位:px(画素)/dp/sp/in/mm(ミリ)android:maxHeightテキスト領域の最大高さを設定android:minHeightテキスト領域の最小高さを設定android:widthテキスト領域の幅を設定する.サポートメトリック単位:px(ピクセル)/dp/sp/in/mm(ミリメートル)android:maxWidthテキスト領域の最大幅android:minWidthテキスト領域の最小幅を設定する
Android:autoLinkテキストがURLリンク/email/電話番号/mapの場合、テキストがクリック可能なリンクとして表示されるかどうかを設定します.オプション値(none/web/email/phone/map/all)
Android:autoLinkが設定されている場合でも、リンクをクリックするかどうかを設定します.
android:textColorLink文字リンクの色.
Android:shadowColorテキストシャドウの色を指定し、shadowRadiusと一緒に使用する必要があります.Android:shadowDxシャドウ横座標開始位置を設定します.Android:shadowDyシャドウの縦座標の開始位置を設定します.Android:shadowRadiusシャドウの半径を設定します.0.1に設定するとフォントの色になりますが、一般的に3.0に設定すると効果的です.
Android:emsはTextViewの幅をN文字の幅に設定します.ここでは、漢字文字の幅android:maxEmsに対してTextViewの幅を最長N文字の幅に設定します.emsと同時使用時にemsオプションを上書きします.Android:minEmsはTextViewの幅を最短でN文字の幅に設定します.emsと同時使用時にemsオプションを上書きします.android:maxLengthは表示されるテキストの長さを制限し、超えた部分は表示されません.Android:linesはテキストの行数を設定し、2行目にデータがなくても2行を表示します.Android:maxLinesは、widthまたはlayout_とテキストの最大表示行数を設定します.widthは組み合わせて使用し、超えた部分は自動的に改行され、超えた行数は表示されません.android:minLinesは、linesと同様にテキストの最小行数を設定します.Android:lineSpacingExtra行間隔を設定します.android:lineSpacingMultiplier行間隔の倍数を設定します.例えば「1.2」
Android:gravity「center」に設定すると、テキストが中央に表示されます.