• Android Official Solution
Поскольку Поддержка Android Design v28 была представлена, легко создать рамочную кнопку, используя MaterialButton
.Этот класс предоставляет обновленные стили материалов для кнопки в конструкторе.Используя app:strokeColor
и app:strokeWidth
, вы можете создать собственную рамку следующим образом:
build.gradle
dependencies {
implementation 'com.android.support:design:28.0.0'
}
style.xml
Убедитесь, что тема вашего приложения наследуется от Theme.MaterialComponents
вместо Theme.AppCompat
.
<style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
• Ограниченная кнопка:
<android.support.design.button.MaterialButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="MATERIAL BUTTON"
android:textSize="15sp"
app:strokeColor="@color/green"
app:strokeWidth="2dp" />
• Незаполненная кнопка с полями:
<android.support.design.button.MaterialButton
style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="UNFILLED MATERIAL BUTTON"
android:textColor="@color/green"
android:textSize="15sp"
app:backgroundTint="@color/transparent"
app:cornerRadius="8dp"
app:rippleColor="#33AAAAAA"
app:strokeColor="@color/green"
app:strokeWidth="2dp" />
Визуальный результат