2012年9月12日水曜日

Androidのカスタムダイアログの幅設定はスタイルで定義できないかも?

Androidのカスタムダイアログの幅設定はスタイルで定義できない?

例えばこのようにダイアログを作る時、

Dialog dialogCustom = new Dialog(this, R.style.dialog_custom);

こういうスタイルは効果ない。

<style name="dialog_custom" parent="android:style/Theme.Dialog">
    <item name="android:layout_width">fill_parent</item>
</style>

スタイルでなくコードでなら、こうすればできる。

Dialog dialogCustom = new Dialog(this, R.style.dialog_custom);
Window win = dialogCustom.getWindow();
WindowManager.LayoutParams wmlp = win.getAttributes();
wmlp.width = ViewGroup.LayoutParams.FILL_PARENT;

謎。