为了账号安全,请及时绑定邮箱和手机立即绑定

Android-按钮边框

Android-按钮边框

烙印99 2019-11-23 13:47:37
如何在按钮上添加边框?是否可以不使用图像来做到这一点?
查看完整描述

3 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

 Android Official Solution

自从引入Android Design支持v28以来,使用即可轻松创建带边框的按钮MaterialButton。此类为构造函数中的按钮提供更新的Material样式。使用app:strokeColor和app:strokeWidth您可以创建自定义边框,如下所示:




1.使用时androidx:

build.gradle


dependencies {

    implementation 'androidx.appcompat:appcompat:1.1.0'

    implementation 'com.google.android.material:material:1.0.0'

}

•带边框的按钮:


<com.google.android.material.button.MaterialButton

    style="@style/Widget.AppCompat.Button.Colored"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:text="MATERIAL BUTTON"

    android:textSize="15sp"

    app:strokeColor="@color/green"

    app:strokeWidth="2dp" />

•未填充边框按钮:


<com.google.android.material.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" />



2.使用时appcompat:

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" />


查看完整回答
反对 回复 2019-11-23
  • 3 回答
  • 0 关注
  • 646 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信