コンテントヘッダー

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
コンテントヘッダー

あれあれ?あれれ?

実は今日気づいたんですがLauncherLiとNoteLiの両方のアプリが私のArrows Xではインストールできないことになっているのです(え

ちょっとびっくりしています。
この前まで普通にマーケットからインストールできたのですがなぜか出来なくなっていました。

コンソール(開発者サイト)の対応機種検索で調べるとArrows Xはヒットします。
がマーケットでは対応していません。だそうです。

なんなんでしょうねこれ(笑
コンテントヘッダー

New Project

Coming Soon.
コンテントヘッダー

NoteLi 1.0.1リリース

更新内容

1、1つだけ存在していたエラー(フリーズとかではなく)の対処
2、LauncherLiと同じで設定項目として広告的なものを追加
コンテントヘッダー

LauncherLi 1.1.4リリース

更新内容

1、前回の記事、Selecterを動的に作る作業で追加した部分の反映
テーマカラーの事です。

2、広告の追加(広告と言っても設定画面の下のほうに設定項目として設置してあります)
コンテントヘッダー

動的にSelecterを作る(ColoStateList)

こんにちは。
最近ちょっとだけTwitterにつぶやきをしている私です

さてタイトルの通りなんですが、開発をしているとボタンというパーツをよく使います。
そのボタンのテキストカラー背景色を状態に応じて変化させたい! という人、たくさんいますよね。
実際はxmlでファイルを作って設定するだけ...という具合に簡単なのですが、これはレイアウトにボタンがあることが決まっている場合です。(静的)

じゃあ、プログラム上から追加をする場合はどうなのよ、という話ですがこちらは動的追加ということになります。
が、動的追加の際には、なぜかうまくいかないことが多いらしいのです(私だけかな?)
そこで今回は動的にボタンを追加し、かつ動的にセレクターも作っちゃおうというお話です。

今回の利点
1、テーマ機能など多彩な表現方法がある場合でも楽に対応できる
2、実行速度がちょっと早い

ですかね(笑
ではさっそくソースを書きます

int[][] states = new int[][]{
//ここはボタンの状態を書いておく場所です。

//フォーカスがあるとき
new int[]{ android.R.attr.state_focused},
//押されているとき
new int[]{ android.R.attr.state_pressed},
//選択されているとき
new int[]{ android.R.attr.state_selected},
//選択されていない時
//最初の - は否定形です。
//xmlの書き方だとfalseのとこですね

new int[]{ -android.R.attr.state_selected}
};

//次にこちら。上に書いた各状態の時の色を書いてあります。
int[] colors = new int[]{/*フォーカス時の色*/ , /*押されているときの色*/ , /*選択されているときの色*/ , /*選択されてないときの色*/};

//そして最後に上の2つでカラーリストを作ります。
ColorStateList statelist = new ColorStateList(states, colors);

これをボタンとかにセットしてやれば状態に応じて色が変わってくれるはずです。
Button btn = new Button(this);
btn.setTextColor(statelist);
こんな感じ。

ちょっと余談
どんな部分でも静的な処理方法は書いてあるのに、動的処理については書いていないところが多いと思うAndroid。
処理時間も短くて済むのになんでだろうね(笑
プロフィール

Lilse_n_d

Author:Lilse_n_d
JavaとAndroid開発を初めて3か月ちょっと。
知識も経験もないですが、必死にもがいてみようと思います(笑)
それではよろしくお願いします。

検索フォーム
最新記事
最新コメント
最新トラックバック
カテゴリ
リンク
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。