JavaでAndroidの自作CalendarViewを作っています。
大まかな作りは、週数分だけLinearLayoutを作成して、その中に7日分Buttonを配置しています。(ネット上で公開されているものを参考にしています)
コードで記述してxmlに配置して、メインのActivityにセットしています。
そこで、実行時の日付が入っているセル(Button)に背景画像を設定したいと思っています。
自分なりに調べた結果、画像の挿入自体は自作Viewの中で日付をsetするのと同タイミングで、
if文によって起動時の日付の場合を作り以下のように記述しました。
lang
1Bitmap todayBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.todayview); 2Bitmap scaledTodayBitmap = Bitmap.createScaledBitmap(todayBitmap, width, height, false); 3button.setBackground(new BitmapDrawable(scaledTodayBitmap)); 4
・・・ですが、大きさが上手くいきません。
View(Button)のサイズよりも画像のサイズが優先されてレイアウトが崩れてしまいました。
createScaleBitmapの時点で縦横にViewのサイズを数字で指定すればぴったりになるのですが、
所持している実機でしかうまくいきません。
Buttonのサイズを取得して、リサイズに使用すれば良いと思ったのですが、
Viewのサイズ取得・画像リサイズ(縮小)・特定日付に挿入が全て成立せずに困っています。
自作ViewのonWindowFocusChanged内でViewのサイズ取得・画像リサイズ&挿入も試してみたのですが、
日付の挿入用メソッドをメインアクティビティのonCreate内で呼んでいるせいか、
日付情報を取得するif文での条件付けがうまくいきませんでした。
以上拙文で申し訳ありません。
解決方法のヒントでも構いませんので、アドバイスをよろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。