XML ではありますが、以前に使用していたスタイルとまったく同じであるため、スタイルが機能することはわかっています。私がやっていることの簡単な例(動作していない)..
LinearLayout buttonlayout = (LinearLayout) dialogLayout.findViewById(R.id.layout_menu_buttons);
Button bSettings = new Button(getActivity(), null, R.style.button_menu);
buttonlayout.addView(bSettings);
私はそれを XML で完全に動作させました。スタイルなしで問題なくボタンを作成できました (これは機能していましたが、スタイルを動的に適用できませんでした)。
Button bSettings = new Button(getActivity());
bSettings.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
完全なコード:
// Getting reference to the Menu layout
LinearLayout buttonlayout = (LinearLayout) dialogLayout.findViewById(R.id.layout_menu_buttons);
buttonlayout.removeAllViewsInLayout();
// Dynamically create buttons
Button bSettings = new Button(getActivity(), null, R.style.button_menu);
Button bHelp = new Button(getActivity(), null, R.style.button_menu);
Button bHistory = new Button(getActivity(), null, R.style.button_menu);
Button bAbout = new Button(getActivity(), null, R.style.button_menu);
// Adding to Layout
buttonlayout.addView(bSettings);
buttonlayout.addView(bHelp);
buttonlayout.addView(bHistory);
buttonlayout.addView(bAbout);
button_menu スタイル..
<style name="button_menu" parent="@style/Fill.Width">
<item name="android:background">@drawable/selector_example1_button_background</item>
<item name="android:layout_margin">10dp</item>
<item name="android:padding">30dp</item>
</style>
注: DDMS ダンプ ビューを使用して確認したところ、すべてのボタンがそこにあり、すべて正しいテキストなどがあることがわかりました。スタイルに含まれています。
スタイルを設定した後、LayoutParamsを再度設定しようとしましたが、違いはありませんでした。
これでちょっと混乱..
何か案は?