Android通过组合两种样式使按钮无边框不起作用



我想制作一个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.

感谢您的任何帮助!

尝试使用

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

最新更新