English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
この記事では、Android TextViewの高度な表示技術をまとめました。皆さんに共有し、以下のように参考にしてください:
1カスタムフォント
setTypeface(Typeface)メソッドを使用してテキストボックス内のテキストのフォントを設定することができます。また、AndroidのTypefaceはTTFフォントファイルを使用してフォントを設定します
したがって、プログラムにTTFフォントファイルを入れて、Typefaceを使用してフォントを設定することができます:第1歩、assetsディレクトリにfontsディレクトリを作成し、TTFフォントファイルをここに配置します。第2歩、プログラムで以下のように呼び出します:
TextViewtv = (TextView)findViewById(R.id.textView); AssetManagermgr=getAssets();//AssetManagerを取得 Typefacetf=Typeface.createFromAsset(mgr, "fonts/mini.TTF");//パスからTypefaceを取得 tv.setTypeface(tf);//フォントを設定
効果は以下の図に示されています:
2多色の文字を表示
Androidはhtml形式の文字列をサポートしており、Html.fromHtml(str)メソッドを呼び出すことでhtml形式の文字列strを変換できます。
以下は例です:
StringtextStr1 = "<font color=\"#ffff00\">もしいつか、</font><br>"; StringtextStr2 = "<font color=\"#00ff00\">ここはもう飽きた</font><br>"; StringtextStr3 = "<font color=\"#ff00ff\">夢を乗じて</font><br>"; StringtextStr4 = "<font color=\"#00ffff\">自分の世界へ飛び<br>出る……</font><br>"; tv.setText(Html.fromHtml(textStr1+textStr2+textStr3+textStr4));
実行結果は以下のようになります:
3フォントを太字に
xmlレイアウトファイルでandroid:textStyle="bold"を使用することで英字を太字に設定できますが、中国語を太字に設定することはできません。中国語を太字に設定する方法は、TextPaintの擬似「太字」設定setFakeBoldTextをtrueにすることです。以下は例コードです:
tv.getPaint().setFakeBoldText(true);
効果は以下のようになります:
4. 影を追加する
xmlレイアウトファイル内に連続するandroid:shadowXXX属性を使用して影を追加することができます。具体的には:shadowColorは影の色を設定します;shadowDxは影の水平方向の偏移量を設定します;shadowDyは影の垂直方向の偏移量を設定します;shadowRadiusは影の半径を設定します。
例のコード:
android:shadowColor="#ffffff" android:shadowDx="15.0" android:shadowDy="5.0" android:shadowRadius="2.5"
表示効果は以下のようになります:
5. 画像を挿入する
画像を挿入する方法には二種類あります。その一つは先ほど述べたHTML形式の文字列を使う方法ですが、変換は少し手間がかかります。ImageGetterクラスを使用して画像のsrc属性を変換する必要があります。以下に例のコードを示します:
String imgStr = "<img src=\""+R.drawable.sidai+"\"/>"; Html.ImageGetter imageGetter = new Html.ImageGetter() { public Drawable getDrawable(String arg0) { // TODO Auto-generated methodstub int id = Integer.parseInt(arg0); Drawable draw = getResources().getDrawable(id); draw.setBounds(10, 10, 228,300); return draw; } }; tv.append(Html.fromHtml(imgStr, imageGetter, null));
画像を挿入するためには、xmlレイアウトファイル内の連続するandroid:drawableXXX属性を使用する方法があります。具体的には:drawableBottomはテキストボックス内のテキストの底端に指定された画像を描画します;drawableLeftはテキストボックス内のテキストの左側に指定された画像を描画します;drawableRightはテキストボックス内のテキストの右側に指定された画像を描画します;drawableTopはテキストボックス内のテキストの顶端に指定された画像を描画します;drawablePaddingはテキストボックス内のテキストと画像の間の間隔を設定します。例のコード:
android:drawableBottom="@drawable"/sidai
画像をインサートした後の表示効果は以下の通りです:
Androidに関するさらに詳しい内容に興味を持つ読者は、このサイトの特集を参照してください:《AndroidビューView技術のまとめ》、《Androidレイアウトlayout技術のまとめ》、《Androidグラフィックと画像処理技術のまとめ》、《Android開発入門と進階チュートリアル》、《Androidデバッグ技術と一般的な問題解決方法のまとめ》、《Androidマルチメディア操作技術のまとめ(オーディオ、ビデオ、録音など)》、《Android基本コンポーネントの使い方のまとめ》および《Androidコントロールの使い方のまとめ》
この記事に記載されている内容が皆様のAndroidプログラムデザインに役立つことを願っています。
声明:この記事の内容はインターネットから収集され、著作権者に帰属します。インターネットユーザーが自発的に貢献し、自己でアップロードしたものであり、このサイトは所有権を持ちません。人工的に編集されていません。また、関連する法的責任を負いません。著作権に抵触する内容がある場合は、メールを送信して:notice#oldtoolbag.com(メールを送信する際、#を@に置き換えてください。報告を行い、関連する証拠を提供してください。一旦確認がとりたいとすると、このサイトは即座に侵害される可能性のあるコンテンツを削除します。)