Не работает свойство layout_weight в Андроид
Всем привет. Учу помаленьку Андройд, и тут вопрос по верстке. Сверстал кнопки по такому типу:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="80dp" >
<Button
android:id="@+id/btnDot"
android:layout_width="wrap_content"
android:layout_height="80dp"
android:layout_weight="1"
android:text="1"
/>
<Button
android:id="@+id/btn0"
android:text="2"
android:contentDescription="0"
android:layout_width="wrap_content"
android:layout_height="80dp"
android:layout_weight="1"
/>
<Button
android:id="@+id/btnEqual"
android:text="3"
android:layout_width="wrap_content"
android:layout_height="80dp"
android:layout_weight="1"
/>
<Button
android:id="@+id/btnAdd"
android:layout_width="wrap_content"
android:layout_height="80dp"
android:layout_weight="1"
android:text="4"
/>
</LinearLayout>
Получилось 4 кнопки с одинаковым размером, т.к. Указан android:layout_weight="1"
. Вот, после этого я начал изучать стили и сделал стили для кнопок, внешний вид.
<style name="calc_digitButton" parent="@android:style/Widget.Button">
<item name="android:background">@drawable/button_digit_selector</item>
<item name="android:textColor">#FFFFFF</item>
<item name="android:textSize">25sp</item>
<item name="android:shadowColor">#A8A8A8</item>
<item name="android:shadowDx">0</item>
<item name="android:shadowDy">0</item>
<item name="android:shadowRadius">2</item>
</style>
Все работает по-прежнему нормально. Все кнопочки ровно. После этого я создаю тему.
<style name="CalcTheme" parent="AppBaseTheme">
<item name="android:buttonStyle">@style/calc_digitButton</item>
</style>
И все кнопочки начали придерживаться этого стиля, все супер, НО свойство android:layout_weight="1"
перестало работать как положено и стало показываться криво. Началось, после того как я сделал тему. Ниже принтскрин, как криво стали отображается кнопки, но повторюсь, до определения темы все работает нормально.
Источник: Stack Overflow на русском