gpt4 book ai didi

android - 如何将 Material 按钮形状外观与编辑文本形状外观分开?

转载 作者:行者123 更新时间:2023-12-02 13:08:28 26 4
gpt4 key购买 nike

在android中,您可以使用ShapeAppearance.MaterialComponents.SmallComponent设置主题,所以如果我设置,

<style name="Some.Theme" parent="@style/Theme.MaterialComponents.DayNight.NoActionBar">
...
<item name="shapeAppearanceSmallComponent">@style/ShapeAppearance.MyShape.SmallComponent</item>
...
</style>

如果我将 ShapeAppearance.MyShape.SmallComponent 定义为四舍五入:

<style name="ShapeAppearance.MyShape.SmallComponent" parent="ShapeAppearance.MaterialComponents.SmallComponent">
<item name="cornerFamily">rounded</item>
<item name="cornerSize">@dimen/someDPValue</item>
</style>

我可以将我的 MaterialButton 设为圆形。

我的问题是,这也会影响我所有 EdittextshapeAppearance,这不是我想要的。

是否可以为 Button 提供不同的 shapeAppearance 并为 Edittext 提供不同的外观?

最佳答案

您可以通过覆盖组件的样式并定义自定义 shapeAppearanceOverlay 来更改组件的形状。

例如,对于 MaterialButton,您可以在应用主题中使用 materialButtonStyle 属性:

<style name="Some.Theme" parent="@style/Theme.MaterialComponents.DayNight.NoActionBar">
<item name="materialButtonStyle">@style/MyApp.Button</item>
</style>

地点:

<style name="MyApp.Button" parent="@style/Widget.MaterialComponents.Button">
<item name="shapeAppearanceOverlay">@style/ShapeAppearanceOverlay.MyApp.MaterialButton</item>
</style>

<style name="ShapeAppearanceOverlay.MyApp.MaterialButton" parent="">
<item name="cornerFamily">rounded</item>
<item name="cornerSize">@dimen/...</item>
</style>

关于android - 如何将 Material 按钮形状外观与编辑文本形状外观分开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59727644/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com