図に示すように、Android スマートフォンではテキストのフォント サイズ、色、背景色を設定できます。
1. TextViewの設定内容
TextView モジュールを使用してテキスト コンテンツを表示する方法については、前の章ですでに説明しましたが、ここで簡単に説明します。
//strings.xml
<string name="hello">Hello World!</string>
<string name="android">hello Android!</string>
// activity_main.xml
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello" />
// MainActivity.java
TextView textView = findViewById(R.id.text1);
textView.setText(R.string.android);
おそらく、これまでの学習を通じて、上記のコードの意味を理解でき、対応するファイルに対応する値を作成できるようになりました。上記のコードでは、コンテンツを設定する 2 つの方法が示されています。
1 つ目の方法は、XML レイアウト ファイルの text= を使用してコンテンツを設定することです。
2 番目の方法は、setText 関数を使用して TextView オブジェクトを通じてコンテンツを設定する方法です。なお、クラスの優先度はレイアウトファイルよりも高く、両方の内容が同時に定義されており、最終的にはクラスに設定されている内容が表示されます。
2. TextView はフォント サイズを設定します
1. 文字サイズの単位
まずフォント サイズの単位を理解しましょう。
px(ピクセル):携帯電話画面の最小表示単位であり、携帯電話画面は複数のピクセルで構成されています。
dp (デバイス独立ピクセル): 同じユニットでも、デバイスが異なると表示効果が異なります。フォントサイズの単位を dp に設定すると、最終的には px に変換されます。
dp の次の 2 つの特性を知っていれば、それらの間の変換関係についてあまり明確にする必要はありません。
1. 同じ解像度の携帯電話の場合、画面サイズが大きくなるほど、同じ dp のコンポーネントが画面に占める割合は小さくなります。
2. 同じサイズで解像度が異なる携帯電話の場合、同じ dp のコンポーネントが画面の同じ割合を占めます。
したがって、単位として dp を使用すると、同じサイズの携帯電話であれば、解像度に関係なく、良好なフィット感が得られることがわかります。よく理解できない場合は、Android Studio を使用して、さまざまなサイズと解像度の携帯電話を作成して実験できます。
また、dp と似たものに sp がありますが、システムで設定されているフォントサイズに応じてサイズが変わる点が異なります。
2. フォントサイズを設定する
// MainActivity.java
TextView textView2 = findViewById(R.id.text2);
textView2.setTextSize(30);
// activity_main.xml
<TextView
android:id="@+id/text3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello"
android:textSize="35sp"/>
フォント サイズを設定するには 2 つの方法があります。
1. setTextSize 関数を使用して、TextView オブジェクトを通じてサイズを設定します。ここで単位を指定する必要がないことがわかります。デフォルトの単位は sp です。
2. XML レイアウト ファイル textSize= を通じて設定します。
3. TextView はフォントの色を設定します
<TextView
android:id="@+id/text3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello"
android:textSize="35sp"
android:textColor="#ff0000"/>
<TextView
android:id="@+id/text4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello"
android:textSize="40sp"
android:textColor="@color/red"/>
// colors.xml
<color name="red">#FFFF0000</color>
上記のコードからわかるように、xml レイアウト ファイルの textColor を通じてフォントの色を設定することも、res/values/colors.xml ファイルで色を定義し、「@」を通じて参照することもできます。色/..."。このうち色の値は # 記号 + 16 進数で、8 桁または 6 桁の数値になります。
たとえば、「#12345678」の場合、数字は左から右に数えられ、最初と 2 番目の数字「12」はフォントの透明度を表し、00 は完全な透明を表し、ff は完全な不透明を表します。3 番目と 4 番目の数字、5 番目と 4 番目の数字はフォントの透明度を表します。 6 桁目のビット 7 とビット 8 は、それぞれ赤、緑、青の 3 色を表し、値が大きいほど色が暗くなります (例: 00 00 00 黒、ff 00 00 赤、00 ff 00 緑、00) 00 ff 青、ff ff ff 白。このうち、数字 1 と 2 は省略可能で、システムのデフォルトは完全に不透明な ff です。
TextView textView2 = findViewById(R.id.text2);
textView2.setTextSize(30);
textView2.setTextColor(0xff0000ff);
//textView2.setTextColor(getResources().getColor(R.color.black));
上記のコードに示すように、Java ファイルでフォントの色を設定することもできます。つまり、TextView オブジェクトを通じて setTextColor インターフェイスを呼び出します。このうち色は8桁の16進数で設定しますが、最初の2桁を書かないとデフォルトはxmlファイルのデフォルト設定とは逆の完全透明の00になります。さらに、getResources().getColor(R.color.black) を使用して、colors.xml ファイル内の色の定義を取得して色を設定することもできます。
4. TextView はフォントの背景色を設定します
// xml
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello"
android:textSize="45sp"
android:textColor="@color/white"
android:background="@color/red"/>
// java
TextView textView4 = findViewById(R.id.text4);
//textView4.setBackgroundColor(Color.GREEN);
textView4.setBackgroundResource(R.color.black);
コードに示されているように、背景色の設定は、xml または Java ファイルを通じて設定することもできます。 XML ファイルでは背景によって設定され、Java では setBackgroundColor によって設定されます。渡されるパラメータには、Color クラスの静的メンバー変数、または色を定義するための静的関数インターフェイスを使用できます。 setBackgroundResource インターフェイスを介して、colours.xml ファイル内の定義を取得することによって、色を設定することもできます。
5. まとめ
この章の学習を通じて、さまざまなニーズを満たすために TextView を使用してフォントの内容、サイズ、色、背景を設定する方法を習得します。