2011年4月28日木曜日

タイトル周りのメモ

・タイトルを非表示に

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
   //SetContentView()の前に行う必要がある 
        requestWindowFeature(Window.FEATURE_NO_TITLE);

        setContentView(R.layout.main);
}

・タイトルにアイコンを表示させる

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    
        requestWindowFeature(Window.FEATURE_LEFT_ICON);

        setContentView(R.layout.main);

        setFeatureDrawbleResource(Window.FEATURE_LEFT_ICON,R.drawable.icon);
}

・タイトルにプログレスバーを表示させる

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    
        requestWindowFeature(Window.FEATURE_PROGRESS);
        //クルクルの方 Window.FEATURE_INDETERMINATE_PROGRESS
        setContentView(R.layout.main);

        setProgressBarVisibility(true);
        //setProgressBarIndeterminateVisibility(true);

}

・ (タイトルじゃないけど)フルスクリーン
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
Manifestでも出来る。
<activity android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen">
themeはほかにもいろいろスタイルを設定できるみたい。↓
http://developer.android.com/reference/android/R.style.html

2011年4月27日水曜日

JUnitを使って画面遷移のテストをする

ActivityMonitor クラスを使用
テストはActivityInstrumentationTestCase2<T>を継承したクラスで行う。

ActivityMonitor monitor = new AcrivityMonitor(
String class, Instrumentation.ActivityResult result, boolean block)

class = 対象のクラス名
result = モニタがヒットした場合に返される…Can be null なのでとりあえずnull
block = モニタがActivityをブロックするかとかなんとか???

ActivityMonitor monitor = new ActivityMonitor("MyActivity", null, false true);
getInstrumentation().addMonitor(monitor);

~~対象のアクティビティを呼び出す処理~~

assertEquals(1, monitor.getHits());

とりあえず出来てそう。
※UIへの操作はrunOnUiThreadメソッドを使うこと。

第三引数をtrueにしておかないとテストが進まなかったり・・・なにやらActivityが居座って入るような?