2011年4月30日土曜日

通話履歴 3D(Call History 3D) Ver.1.0.3

すいません、アホなミスをしてました。

桁数オーバーで、強制終了していましたのでそこを直しました。

通話履歴 3D(Call History 3D) Ver.1.0.2

電話帳に登録されていない場合、ロングプレスで登録できるようにしました。
新規登録と追加登録から選べます。
ただ、登録してもすぐに通話履歴に反映されないみたいです。(もしかしたら、新しいデータしか反映されないかも)
このアプリは、表示の時に本体にある通話履歴からデータを取得するんで、andoroido本体のデータが更新されないとダメなんです。

あと、エラーレポートが1件上がってましたが、原因がまったくわかりませんというか何をしたらそうなるのかがわかんない;;はふん

2011年4月29日金曜日

2011年4月28日木曜日

通話履歴 3D (Call History 3D) 一応完成

ゲームばっかりやってて、全然すすんでなかったんですが やっと形になりましたのでマーケットに公開します。

https://market.android.com/details?id=jp.hiro711i.CallHistory3D&feature=search_result


通話履歴を表示するアプリです。
メニューで、シンプル表示と3D表示の切替ができ、表示されているタブの全件削除ができます。
クリックで、発信とSMS送信が選択できます。
ロングプレスで、1件削除および、電話帳に登録されている場合電話帳を開けます。
背景は、設定されている背景を取得し表示します。

ウィジェットに発信履歴と着信履歴のボタンがありますので、ホーム画面に設置してお使いください。

2011年4月18日月曜日

『通話履歴 3D』 途中経過

とりあえず、リストのとこだけ作ったんで公開してます。

オリジナルのListViewですんで、バックグランドには背景を使用するようにしてます。

実用性よりグラフィカルを選んでますので、あしからず。

2011年4月15日金曜日

次なるアプリは、着発信信履歴です。

まあ、普通のタブとリストビューで簡単に作れるんじゃないかな・・・

通話ログは、getContentResolver().query()を使えば取得できるらしい。

で、今何をしてるかと言いますと通話ログの取得は無視してリストビューを ごにょごにょといじってます。

自作のMyListVIewクラスを作って、3Dぽいアニメーション付きで表示できないかなとやっております。3Dアニメーションといっても いろいろやるとごちゃごちゃでリストとして意味ないから、ちょっこちょこっとね。

リストのイメージ的には、ガラス板に文字が書かれるみたいな感じにしたいが、ガラス板を描画できませんので、それっぽく(ただ、透過しただけみたくなったが

もう少し、見れそうな感じにしあがったらUPしますね

2011年4月4日月曜日

『デジクロッくん』製品版を公開しました。

下記アドレスで公開してみました。よろしくです
https://market.android.com/details?id=jp.hiro711i.DigiClocKun&feature=search_result

デモ版よりは、安定してます。

文字の縁取り方法

テキスト文字の縁取り方法を書いておきます。
と言っても、TextViewでの書き方はわかりません。android.text.styleをざっと見たところできそうになかったけど、何か方法があるのかも知れませんね。(これを使うと、エンボス加工とか、横倍率とか部分的に背景色を変えるとかは出来るみたいです)

で、今回は文字の描画(イメージテキスト?)まあ、drawTextでの書き方です。
方法は、setStyleでStyle.STROKE(輪郭線を描く)を使うだけ・・・
縁取りはExcelみたいな感じに縁を中心に膨らんでいく感じなんで中の文字の大きさを変えたくない場合は、
Paint paint = new Paint();
paint.setAntiAlias(true);

paint.setStrokeWidth(2.0f);
paint.setColor(Color.BLACK);
paint.setStyle(Paint.Style.STROKE);
canvas.drawText("テスト", xPos, yPos, paint);

paint.setStrokeWidth(0);
paint.setColor(Color.WHITE);
paint.setStyle(Paint.Style.FILL);
canvas.drawText("テスト", xPos, yPos, paint);
setStrokeWidthで、縁取り幅を決めて
setColorで、縁取りの色を決めて
setStyle(Paint.Style.STROKE)で、図形の輪郭線のみを描くに設定して
drawTextで、一回文字を書く
setStrokeWidthで、縁取り幅を0に戻して
setColorで、文字色を決めて
setStyle(Paint.Style.FILL)で、図形の内側を塗りつぶすに設定して
drawTextで、もう一度文字を書く

と言う、なんかもったいない処理をしています。
先に内部文字を書けば、縁取り幅を広くすると内部の文字が縁取りに押しつぶされる感じですね。
setStrokeColorというメソッドがあれば、一発で済むのになぁ

もっと、いい方法がありそうだけど初心者の私にはこれしかわかりません。

そうそう、drawTextとかイメージ描画は単位がpx(ピクセル)なんで自動で画面いっぱいに書く場合、解像を考えて書かないとぼやけた文字になっちゃいます。

簡単にpx→dip計算をするなら、
getResources().getDisplayMetrics().densityで、解像度比率(?)を取得して乗算してあげるといいですよ。