Объркан съм относно стиловете на бутоните за Material Design. Бих искал да получа цветни повдигнати бутони като в приложената връзка., като бутоните "force stop" и "uninstall", които се виждат в раздела за използване. Има ли налични стилове или трябва да ги дефинирам сам?
http://www.google.com/design/spec/components/buttons.html#buttons-usage
Не можах да'намеря стиловете на бутоните по подразбиране.
Пример:
<Button style="@style/PrimaryButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Calculate"
android:id="@+id/button3"
android:layout_below="@+id/editText5"
android:layout_alignEnd="@+id/editText5"
android:enabled="true" />
Ако се опитам да променя цвета на фона на бутона, като добавя
android:background="@color/primary"
всички стилове изчезват, например анимацията на докосване, сянката, заобленият ъгъл и т.н.
Ако ви разбирам правилно, искате да направите нещо подобно:
В такъв случай би трябвало да е достатъчно да се използва:
<item name="android:colorButtonNormal">#2196f3</item>
Или за API, по-малък от 21:
<item name="colorButtonNormal">#2196f3</item>
В допълнение към Using Material Theme Tutorial.
Анимираният вариант е [тук][3].
Ето как получих това, което исках.
Първо, направих бутон (в styles.xml
):
<style name="Button">
<item name="android:textColor">@color/white</item>
<item name="android:padding">0dp</item>
<item name="android:minWidth">88dp</item>
<item name="android:minHeight">36dp</item>
<item name="android:layout_margin">3dp</item>
<item name="android:elevation">1dp</item>
<item name="android:translationZ">1dp</item>
<item name="android:background">@drawable/primary_round</item>
</style>
Вълнението и фонът на бутона, като рисуваемо primary_round.xml
:
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/primary_600">
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="1dp" />
<solid android:color="@color/primary" />
</shape>
</item>
</ripple>
Това добави ефекта на вълничките, който търсех.
можете да придадете авиация на изгледа, като му добавите ос Z и да му зададете сянка по подразбиране. тази функция е предоставена в предварителния преглед на L и ще бъде налична след пускането му. Засега можете просто да добавите изображение, което придава този вид на фона на бутона