1

У меня есть несколько десятков кнопок в моем приложении и стиль, который наследуется от Widget.AppCompat.Button. Большинство кнопок имеют анимацию изменения высоты и состояния. Потрясающие.Кнопка AppCompat без отметки

Что не удивительно в том, что некоторые из кнопок не имеют ничего лишнего.

Вот пример одного из рабочих кнопок

<Button 
    android:id="@+id/button1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="?attr/defaultPadding" 
    android:minHeight="?attr/minTouchSize" 
    android:textAppearance="?attr/textAppearanceListRowLabel" /> 

Вот отрывок из которой не работают кнопки

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <Button 
     android:id="@+id/button2" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_marginEnd="8dp" 
     android:layout_marginRight="8dp" 
     android:layout_weight="1" 
     android:minHeight="?attr/minTouchSize" /> 

    <Button 
     android:id="@+id/button3" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:minHeight="?attr/minTouchSize" /> 
</LinearLayout> 

Они находятся на разных раскладок. Вещи, которые я пробовал:

  • Я добавил button1 быть в том же файле макета, как на панели кнопок и button1 до сих пор работает.
  • Если я удаляю весы с одной из кнопок в панели, они не работают.
  • Я попытался явно положить мой стиль кнопки на каждой кнопке
  • Если я кнопка бара вертикальной компоновки и сделать родительскую кнопку матча, то он работает! Но это не то, что я хочу.

Я хочу, чтобы эти кнопки имели анимацию состояния и высоту в горизонтальном расположении. Ака, я хочу, чтобы кнопки занимали равное пространство и сидели рядом друг с другом. Как я могу это достичь?

Я использую AppCompat 22.2.1

+0

Вы пытались поместить стиль явно на каждую кнопку? – Androider

+0

@ Androider, к сожалению, нет кубиков:/ – Sababado

+0

Я пробовал удалить minHeight attrs и поместить ваш код в основной макет действия, и он работает хорошо. Может быть, проблема с этими параметрами. – thanhnd

ответ

0

я думаю, что проблема в вашей деятельности Тема !!!!

его хорошо упомянуть, что кнопки принимают свой стиль от ТЕМЫ активности. то, что вы можете сделать это:

  1. определить стиль:

    <style name="ThemeMaterialButtonColor" parent="Base.Widget.AppCompat.Button"> 
    <item name="colorButtonNormal">@color/md_teal_500</item></style> 
    
  2. Затем в кнопки в вашем XML добавить следующее:

    приложение: тему = "@ стиль/ThemeMaterialButtonColor "

Смежные вопросы