AlertDialogにカスタムレイアウトをあてるには
2016/03/06 00:52:58
Shock!!
これほど初歩的な部分で躓いてたとは思わんかったよ。
引用元:Android開発入門様
Q: AlertDialogにカスタムレイアウトが表示されない! 助けてアルゴマン!
A: そりゃ君inflate()せなアカンぜよ
view.findViewById()でUIオブジェクトの初期値を設定してやることも可能。
final View view = inflater.inflate(R.layout.setting_view_layout, null);
final SeekBar seek = (SeekBar)view.findViewById(R.id.textsize_seekbar);
seek.setProgress(nSize);
こんな感じ。
このあとリスナーの中で使うからfinalとしている。お察しの通りこっちのソースは自前である。
Typo出されないためにも、text_size_seek_barとしたほうがいいのかもしれんが冗長すぎるだろ。アンダースコアの後ろにオブジェクト名(layoutとかね)、前に中身を示す名称をつけるのがmz流。
これほど初歩的な部分で躓いてたとは思わんかったよ。
引用元:Android開発入門様
Q: AlertDialogにカスタムレイアウトが表示されない! 助けてアルゴマン!
A: そりゃ君inflate()せなアカンぜよ
LayoutInflater inflater = LayoutInflater.from(DialogTest1Activity.this);……ということらしい。Fragmentから使うときはfrom(getContext())ね。
View view = inflater.inflate(R.layout.dialog5, null);
view.findViewById()でUIオブジェクトの初期値を設定してやることも可能。
final View view = inflater.inflate(R.layout.setting_view_layout, null);
final SeekBar seek = (SeekBar)view.findViewById(R.id.textsize_seekbar);
seek.setProgress(nSize);
こんな感じ。
このあとリスナーの中で使うからfinalとしている。お察しの通りこっちのソースは自前である。
Typo出されないためにも、text_size_seek_barとしたほうがいいのかもしれんが冗長すぎるだろ。アンダースコアの後ろにオブジェクト名(layoutとかね)、前に中身を示す名称をつけるのがmz流。
PR
\100
2016/02/06 02:47:47
setY()が少しズレる謎の解決
2016/01/07 12:38:41
だからお前はアホなのだぁァ!!(挨拶)
結構バカバカしいが昨日これで散々悩んだ。
そんでも自力でなんとか原因究明をと思ってたものだが本日調べてみたところ、
Sukohi's tech blog!! [Android開発] タップした位置にビューを移動する方法
上記サイト様が参考になった。
言及しておられるのはステータスバーの高さについてだが、setY()がズレるには他にも要因があり、うちの場合はpaddingでした。選ばれたのは綾鷹でした。
FragmentのonStart()内でImageViewの位置を初期化するのだが、そーするとその後最初の描画でY軸がカクンとズレる。なぜだ!
坊やだからさ、とバーボンをキュッといってる場合ではない。
レイアウト(RelativeLayout)にpaddingTop="30dp"が指定してあった。
はて、最上部へ表示するTextViewにpadding設定はしてもLayoutへやった覚えはないんだが……ともかくそこを削除するとカクンズレはのうなった。こんなにうれしいことはありません。いやあるだろ、もっとあるだろ、この世に生きる喜び、そして哀しみが。愛と怒りと哀しみが。グリーングリーン。フルーチェ食ったりとか喜びがあるだろ。
一回作ったもんを作り直してるだけなのにいろんな問題に直面するもんだねしかし。
なんでじゃあぁぁぁぁ!! ってゥン時間にわたり頭ひねりまくってた問題が一瞬でサクッと解決してしまうのもプログラミングの醍醐味ですね。鬱だ。
結構バカバカしいが昨日これで散々悩んだ。
そんでも自力でなんとか原因究明をと思ってたものだが本日調べてみたところ、
Sukohi's tech blog!! [Android開発] タップした位置にビューを移動する方法
上記サイト様が参考になった。
言及しておられるのはステータスバーの高さについてだが、setY()がズレるには他にも要因があり、うちの場合はpaddingでした。選ばれたのは綾鷹でした。
FragmentのonStart()内でImageViewの位置を初期化するのだが、そーするとその後最初の描画でY軸がカクンとズレる。なぜだ!
坊やだからさ、とバーボンをキュッといってる場合ではない。
レイアウト(RelativeLayout)にpaddingTop="30dp"が指定してあった。
はて、最上部へ表示するTextViewにpadding設定はしてもLayoutへやった覚えはないんだが……ともかくそこを削除するとカクンズレはのうなった。こんなにうれしいことはありません。いやあるだろ、もっとあるだろ、この世に生きる喜び、そして哀しみが。愛と怒りと哀しみが。グリーングリーン。フルーチェ食ったりとか喜びがあるだろ。
一回作ったもんを作り直してるだけなのにいろんな問題に直面するもんだねしかし。
なんでじゃあぁぁぁぁ!! ってゥン時間にわたり頭ひねりまくってた問題が一瞬でサクッと解決してしまうのもプログラミングの醍醐味ですね。鬱だ。