Ответ 1
Надеюсь, что я не слишком поздно присоединяюсь к вечеринке:)
Ну, стили можно применить к View
на этапе инициализации. Например:
LinearLayout button = new LinearLayout(context, null, android.R.style.ButtonBar);
Я программно создаю LinearLayout для AlertDialog с некоторыми кнопками.
I ХОТИТЕ:
<LinearLayout android:id="@+id/footer" android:layout_width="fill_parent"
style="@android:style/ButtonBar">
Но с таким кодом:
LinearLayout buttons = new LinearLayout(parentContext);
buttons.setOrientation(LinearLayout.HORIZONTAL);
LinearLayout.LayoutParams buttonsParams =
new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);
topLayout.addView(buttons, buttonsParams);
buttons.setLayoutParams(buttonsParams);
Button btnAdd = new Button(context);
btnAdd.setText("Add");
Как я могу настроить стиль кнопок (используйте панель кнопок)?
Надеюсь, что я не слишком поздно присоединяюсь к вечеринке:)
Ну, стили можно применить к View
на этапе инициализации. Например:
LinearLayout button = new LinearLayout(context, null, android.R.style.ButtonBar);
Это сработало для меня
Button button = new Button(new ContextThemeWrapper(context,ButtonStyle), null, ButtonStyle)
Это единственный ответ, который фактически доставил то, что я искал: http://belencruz.com/2013/04/set-styles-programmatically-in-android/
По существу, создайте XML файл макета, который просто имеет элемент <Button/>
со стилем, который вы хотите. Затем раздуйте его программно и просто настройте текст кнопки.
Что-то по строкам:
<?xml version="1.0" encoding="utf-8"?>
<Button style="@style/your_custom_style_here"/>
В коде:
Button button = (Button)getLayoutInflater().inflate(R.layout.your_custom_button_layout_file, null);
button.setText("Your Text");
Вместо вакашлам
LinearLayout button = new LinearLayout(context, null, android.R.style.ButtonBar);
(то есть, судя по комментариям, API надежный), я также читал ответы на вопросы отсюда [ "Стиль кнопки Android"
transferBtn.setBackgroundResource(R.layout.buttonstyle);
(выставляя приведенные выше ответы, потому что один из них может работать и для вас, в зависимости от используемой версии API),
Но это то, что сработало для меня (помните об изменении от "макета" до "растягиваемого" ) :
Button b = new Button(this);
b.setBackgroundResource(R.drawable.button_custom_green);
(ответ от [Как программно установить атрибут стиля в виде)