web-dev-qa-db-ja.com

Androidで通常のフォントの太さをライトとして設定する方法

3つのテキストビューがあります。私は、彼らの体重を「軽い」「普通」「凝縮」に設定する必要があります。誰かがAndroidでこれを達成する方法で私を助けることができますか?

28
user4582135

つかいます Android:textStyleTextViewで、bolditalicなどのテキストスタイルを設定します。普通。

次に、boldテキストスタイルのTextViewの例を示します。

<TextView
  Android:id="@+id/hello_world"
  Android:text="hello world"
  Android:layout_width="wrap_content"
  Android:layout_height="wrap_content"
  Android:textStyle="bold"/>

光または凝縮を使用する場合は、フォントを変更する必要があります。次のようにできます:

Android:fontFamily="sans-serif-light"

フォントの詳細については、次の回答も参照してください Android:fontFamilyの有効な値とマップ先

56
jfmg

参照しているフォントがそれらのスタイルを許可している場合にのみ、TextViewをLight、Regular、Condensedとして表示できます。

たとえば、プロジェクトにフォントをインポートし、LightまたはCondensedがない場合、TextViewでそのスタイルを使用してテキストを表示することは(あえて言いませんが)考えられません。独自のフォントをインポートする場合は、プログラムで操作します。アクティビティでグローバルTextViewを宣言します。

private TextView tv;

次に、onCreate()で、/ assetsに保存したフォントファイルを参照します。

Typeface someFontName-condensed = Typeface.createFromAsset(getAssets(), "assets/NameOfFont-condensed.ttf");

tv = (TextView) findViewById(R.id.myTextViewId);
tv.setTypeface(someFontName-condensed);

パッケージ化されたフォント.ttcとしてではなく、圧縮ファイル(.ttfとして)の圧縮バージョンをインポートしたことに注意してください。フォントのさまざまなスタイルバージョンを取り込むことができますが、特定のスタイル.ttfを参照するため、パッケージ化された1つのファイルではなく、個々の.ttfファイルとして取り込む必要があります。

ただし、XMLからさまざまなスタイルを参照できるシステムフォントを使用している場合は、次のように表示されます。

Android:fontFamilyの有効な値とマッピング先

彼らが言うように、Robotoのようなものには、fontFamilyを使用します。

0
robkriegerflow