2015-07-19 2 views
3

У моего приложения несколько тем, из которых пользователь может выбрать (красный, синий, зеленый и т. Д.). Каждая тема имеет соответствующий стиль кнопки (RedTheme => RedButton). Теперь я создал пользовательский вид, который слегка расширяет «Button», и, к сожалению, эта кнопка не получает никакого стиля, за исключением того, что я использую атрибут style в layout.xml. Я не использую никаких дополнительных атрибутов, я просто хочу, чтобы мой стиль Button был применен. Я хочу сделать что-то подобное, чем:Стиль темы для пользовательского вида

<item name="android:imageButtonStyle">@style/ImageButtonmyTimeRed</item> 

Я уже прочитал много других должностей, как это: How to: Define theme (style) item for custom widget , но я не уверен на 100%, если это решение подходит для меня, так как мне не нужно любые дополнительные атрибуты.

+0

Что вы спрашиваете, вы можете быть более ясным –

+0

Что неясна для вас? -> Я просто хочу, чтобы мой стиль Button Button применялся для моей производной кнопки. Я также описал, как я хочу использовать его – stefan

+1

Вы видели третий параметр в конструкторе вида? – pskink

ответ

2

Я использую три конструктора параметров и передаю идентификатор ресурса кнопки. Это работает для всех моих пользовательских тем. Спасибо @pskink за то, что указали мне в правильном направлении.

public ClockButton(Context context, AttributeSet attrs) { 
    super(context, attrs, R.attr.buttonStyle); 
    ... 
} 

Моя тема выглядит следующим образом:

<style name="LilaTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="buttonStyle">@style/ButtonmyTimeLila</item> 
</style> 
+0

У меня есть ошибка: не удалось найти стиль 'optionbuttoviewStyle' optionbuttoviewStyle - это особый стиль, найденный в моих стилях.xml – yeahman