カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

画像のクロスフェード

レイヤーをクロスフェードさせて画像を入れ替えます。
動的に実行する場合はコンストラクターに配列で渡します。

TransitionDrawable(Drawable[] layers)

main.xml

<?xml version="1.0" encoding="utf-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/image1"  />
    <item android:drawable="@drawable/image2"  />
</transition>

続きを読む…»

4,964 views

フォルダ選択ダイアログ

アラートダイアログを使って、ファイル選択にも応用できる参照機能
こちらのサイトを参考にさせていただきました。
http://d.hatena.ne.jp/Silent-Bob/20110705

・ルートフォルダーを設定
指定したフォルダー階層より上に上がれないようにします。

private static final String ROOT_PATH = 
    Environment.getExternalStorageDirectory().getPath() + "/";

続きを読む…»

10,651 views

音楽ファイルの再生

MediaPlayer mediaPlayer = new MediaPlayer();
String path = "";

mediaPlayer.setLooping(true); //ループ再生の設定

try {
	mediaPlayer.setDataSource(path);
} catch (IllegalArgumentException e) {
	e.printStackTrace();
} catch (IllegalStateException e) {
	e.printStackTrace();
} catch (IOException e) {
	e.printStackTrace();
}

try {
	mediaPlayer.prepare();
} catch (IllegalStateException e) {
	e.printStackTrace();
} catch (IOException e) {
	e.printStackTrace();
}

mediaPlayer.start(); //再生開始
mediaPlayer.pause(); //一時停止
mediaPlayer.stop();  //停止

続きを読む…»

6,282 views

ローカルファイルのアクセス

ローカルファイルにアクセスする場合、ファイルのパスはOSが決めているのでアプリから指定する必要はありません。
読み込むときも書き込むときも、ファイル名のみ指定します。

【画像ファイル保存】※ビットマップは生成済と仮定します。

try {
  FileOutputStream out = openFileOutput("a.jpg", Context.MODE_WORLD_READABLE);
  bmp.compress(Bitmap.CompressFormat.JPEG, 100, out);
  out.close();
} catch (Exception e) {
  e.printStackTrace();
}

続きを読む…»

3,657 views

選択用のダイアログ表示

サブメニューやコンテキストメニュー以外で、選択してもらう機能を実装したいときに発見しました。
複数の選択肢を持たせることができるダイアログを実装することができます。

AlertDialog.Builder ad = new AlertDialog.Builder(this);
ad.setTitle("選択");
final String[] items = { "01", "02", "03"};
ad.setItems(items, new OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        Log.v(TAG, items[which] + "が選択されました。");

        switch(which){
        case 0:
            //01が選択された場合の処理
            break;
        case 1:
            //02が選択された場合の処理
            break;
        case 2:
            //03が選択された場合の処理
            break;
        }
    }
});
ad.create().show();

続きを読む…»

2,445 views