CustomTitleBarTest1aActivity.java
package jp.co.triware.samples.CustomTitleBarTest1a;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
public class CustomTitleBarTest1aActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// タイトルにレイアウトを指定する
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
// カスタマイズしたレイアウトファイルを指定
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar);
}
}
14行目のrequestWindowFeature(Window.FEATURE_CUSTOM_TITLE);で任意のレイアウトファイルを設定します。
設定するレイアウトファイルは18行目の
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar);で指定しています。
requestWindowFeatureメソッドはsetContentViewメソッドの前に設定してください。順番を入れ替えると設定値が反映されません。
titlebar.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/app_name"
android:textColor="@android:color/white"
/>
</LinearLayout>
タイトルを表示させるTextViewを画面の横幅いっぱいに表示させて、TextView内で文字列をセンタリングしています。
色を指定しないと背景色に似た色で見づらいため、12行目で白色を指定しています。
android:textColor="@android:color/white"
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
Androidプロジェクトの設定
ビルドターゲットや最小SDKバージョンは、お使いの開発環境に合わせて設定してください。
プロジェクト名: CustomTitleBarTest1a アプリケーション名: CustomTitleBarTest1a パッケージ名: jp.co.triware.samples.CustomTitleBarTest1a アクティビティーの作成: CustomTitleBarTest1aActivity
実行結果
タイトルの文字列がセンタリングされています。

0 件のコメント:
コメントを投稿