Android通过组合两种样式使按钮无边界

时间:2019-12-26 12:36:25

标签: android android-layout

我想制作一个back按钮,其样式如下:

 <style name="back_button" parent="Widget.AppCompat.Button.Borderless">
        <item name="android:fontFamily">@font/frutiger_light</item>
        <item name="android:textColor">@color/lightSaber</item>
        <item name="android:textSize">16sp</item>
        <item name="android:textAllCaps">false</item>
        <item name="android:text">@string/back</item>
        <item name="android:background">@android:color/transparent</item>
    </style>

但是现在我已经有一种退出的风格:

  <style name="FrutigerLight16LightSaber">
        <item name="android:fontFamily">@font/frutiger_light</item>
        <item name="android:textColor">@color/lightSaber</item>
        <item name="android:textSize">16sp</item>
  </style>

所以我想用Widget.AppCompat.Button.BorderlessFrutigerLight16LightSaber添加新样式。

我通过组合.parent尝试了两种解决方案,但没有用。

一个

    <style name="FrutigerLight16LightSaber.Borderless" parent="Widget.AppCompat.Button.Borderless">
    </style>

然后

   <style name="back_button" parent="FrutigerLight16LightSaber.Borderless">
        <item name="android:textAllCaps">false</item>
        <item name="android:text">@string/back</item>
        <item name="android:background">@android:color/transparent</item>
    </style>

以这种方式,我失去了FrutigerLight16LightSaber风格。

两个

   <style name="FrutigerLight16LightSaberBorderless" parent="FrutigerLight16LightSaber">
        <item name="android:borderlessButtonStyle">@style/Widget.AppCompat.Button.Borderless</item>
    </style>

然后

   <style name="back_button" parent="FrutigerLight16LightSaberBorderless">
        <item name="android:textAllCaps">false</item>
        <item name="android:text">@string/back</item>
        <item name="android:background">@android:color/transparent</item>
    </style>

这样,我输了Widget.AppCompat.Button.Borderless

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

尝试使用

<style name="FrutigerLight16LightSaber.Borderless" parent="Widget.AppCompat.Button.Borderless">
    <item name="android:fontFamily">@font/frutiger_light</item>
    <item name="android:textColor">@color/lightSaber</item>
    <item name="android:textSize">16sp</item>
</style>

然后使用如下所示:

<style name="back_button" parent="FrutigerLight16LightSaber.Borderless">
    <item name="android:textAllCaps">false</item>
    <item name="android:text">@string/back</item>
    <item name="android:background">@android:color/transparent</item>
</style>