Как установить Style в коде?

140
15 мая 2019, 18:00

Я создал новый style для кнопок:

<style name="ThemesNumsOne" parent="android:Widget.Button">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:background">@drawable/button_theme_two</item>
        <item name="android:textColor">@color/colorThemeOneTextNums</item>
        <item name="android:textSize">36sp</item>
        <item name="android:fontFamily">@font/roboto_light</item>
</style>

и унаследовал класс Button в java коде:

public class CalcButton extends android.support.v7.widget.AppCompatButton {
    public CalcButton(Context context) {
        super(context);
        setup(context);
    }
    public CalcButton(Context context, AttributeSet attrs) {
        super(context, attrs);
        setup(context);
    }
    public CalcButton(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        setup(context);
    }
    private void setup(Context context) {
    }
} 

ну вот, я хотел установить style в java коде, а не в xml макете. но я не знаю как установить style в коде, если знаете подскажите пж...

public class CalcButton extends android.support.v7.widget.AppCompatButton {
    public CalcButton(Context context) {
        super(context);
        setup(context);
    }
    public CalcButton(Context context, AttributeSet attrs) {
        super(context, attrs);
        setup(context);
    }
    public CalcButton(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        setup(context);
    }
    private void setup(Context context) {
    }
}

@Andrew Goroshko вот код унаследованы от Button. Там внизу есть метод setup и в этом методе я хочу установить style. Вопрос: как реализовать этого?

Answer 1

Вот к примеру есть способ:

LinearLayout button = new LinearLayout(context, null, android.R.style.ButtonBar);

ссылка на первоисточник. Или вот:

Button bt=(Button)findViewById(R.id.button);
bt.setBackgroundResource( R.drawable.bt_style);

вот ссылка на первоисточник. Вот еще есть подобный ответ. Надеюсь один из предложенных вариантов окажется решением вашей проблемы. Если возникнут сложность с радостью поможем. Удачи :)

READ ALSO
Как создается массив, почему через new?

Как создается массив, почему через new?

Почему при создании массива используется new, так же как при создании обьекта:

129
Проблема с иконкой [закрыт]

Проблема с иконкой [закрыт]

Я уже битый час не могу понять, что с этим кодом не так! Иконка не устанавливается, Путь перепроверил всеми возможными и невозможными способамиЧто...

159
При заполнение формы открыть в новой вкладке страницу?

При заполнение формы открыть в новой вкладке страницу?

есть форма с отправкой данных на е-майлПри заполнение и отправке надо что бы пользователю открывался файл который находится по адресу /lessons/l1

152
Рисование canvas мышкой и touchpanel iPad

Рисование canvas мышкой и touchpanel iPad

начал изучать canvas и столкнулся с проблемой, рисования с помощю canvas мышкой onmousedown, onmousemove, onmouseup работает а для touchpanel iPad использовал touchstart, touchmove,...

129