Androidアプリ入門 No.03 フォント
今風に書き直した記事がありますので、合わせて参照ください。
blog.webarata3.link
ウィジェット共通
フォント
ここではフォント関連の指定方法を確認する。
2011年4月14日追加
まず、MainActivity.javaを以下のようにする。
package sample.at; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }
そして、先ほどのmain.xmlを以下のように変更する。
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/blue" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="こんにちはABCabc123" android:textColor="#000" android:background="#80ffffff" android:textStyle="normal" android:typeface="normal" android:textSize="30sp" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="こんにちはABCabc123" android:textColor="#000" android:background="#80ffffff" android:textStyle="bold" android:typeface="normal" android:textSize="30sp" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="こんにちはABCabc123" android:textColor="#000" android:background="#80ffffff" android:textStyle="italic" android:typeface="normal" android:textSize="30sp" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="こんにちはABCabc123" android:textColor="#000" android:background="#80ffffff" android:textStyle="bold|italic" android:typeface="normal" android:textSize="30sp" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="こんにちはABCabc123" android:textColor="#000" android:background="#80ffffff" android:textStyle="normal" android:typeface="sans" android:textSize="30sp" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="こんにちはABCabc123" android:textColor="#000" android:background="#80ffffff" android:textStyle="normal" android:typeface="serif" android:textSize="30sp" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="こんにちはABCabc123" android:textColor="#000" android:background="#80ffffff" android:textStyle="normal" android:typeface="monospace" android:textSize="30sp" /> </LinearLayout>
textStyleでは以下が指定できる。textStyleは「|」で複数指定できる。その際ブランクは付けてはいけない。たとえば、「bold|italic」のように指定する。
種類 | 説明 |
---|---|
normal | 標準 |
bold | 太字 |
italic | 斜体 |
typefaceでは以下が指定できる。
種類 | 説明 |
---|---|
normal | 標準。 |
sans | ゴシック体のようなフォント |
serif | 明朝体のようなフォント |
monospace | 等幅のフォント |
またtextSizeでpx,sp、pt、dipのいずれかのフォントサイズが指定できる。サイズについては別途説明をする。
フォントに関しては影をつけることができる。影は以下の属性で指定できる。
種類 | 説明 |
---|---|
shadowColor | 影の色。 |
shadowDx | 影をX方向にどれだけずらすか。10.0等を指定する。負の値も指定可能。 |
shadowDy | 影をY方向にどれだけずらすか。10.0等を指定する。負の値も指定可能。 |
shadowRadius | 影の半径?実際に動作させると数値を大きくすると影がぼやけた感じになる。 |
影の例を以下に挙げる。main.xmlを以下のようにする。
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#fff" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="こんにちはABCabc123" android:textColor="#000" android:textSize="30sp" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="こんにちはABCabc123" android:textColor="#000" android:shadowColor="#f00" android:shadowDx="10.0" android:shadowDy="10.0" android:shadowRadius="1.0" android:textSize="30sp" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="こんにちはABCabc123" android:textColor="#000" android:shadowColor="#f00" android:shadowDy="10.0" android:shadowRadius="1.0" android:textSize="30sp" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="こんにちはABCabc123" android:textColor="#000" android:shadowColor="#f00" android:shadowDx="10.0" android:shadowRadius="1.0" android:textSize="30sp" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="こんにちはABCabc123" android:textColor="#000" android:shadowColor="#f00" android:shadowDx="-10.0" android:shadowDy="-10.0" android:shadowRadius="1.0" android:textSize="30sp" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="こんにちはABCabc123" android:textColor="#000" android:shadowColor="#f00" android:shadowDy="-10.0" android:shadowRadius="1.0" android:textSize="30sp" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="こんにちはABCabc123" android:textColor="#000" android:shadowColor="#f00" android:shadowDx="-10.0" android:shadowRadius="1.0" android:textSize="30sp" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="こんにちはABCabc123" android:textColor="#000" android:shadowColor="#f00" android:shadowDx="5.0" android:shadowDy="5.0" android:shadowRadius="5.0" android:textSize="30sp" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="こんにちはABCabc123" android:textColor="#000" android:shadowColor="#f00" android:shadowDx="5.0" android:shadowDy="5.0" android:shadowRadius="10.0" android:textSize="30sp" /> </LinearLayout>