【问题标题】:Can't add margin to a button inside a ConstraintLayout无法向 ConstraintLayout 内的按钮添加边距
【发布时间】:2022-01-23 02:26:06
【问题描述】:

为什么我无法在此按钮的末尾添加边距?

<!--Buttons-->
<androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/arqo_llButtons" android:layout_width="match_parent"
    android:layout_height="98dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent"
                android:background="@color/white" >

    <!--Pay Button-->
    <android.widget.Button android:id="@+id/arqo_btnQuickApplyPayment" style="@style/CustomButtonStyle.Success"
                    android:layout_width="200dp" android:layout_height="60dp" android:layout_marginEnd="16dp"
                    android:enabled="false" android:text="@string/button_pay" app:layout_constraintBottom_toBottomOf="parent"
                    app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>



<style name="CustomButtonStyle">
    <item name="android:layout_height">55dp</item>
    <item name="android:layout_width">332dp</item>
    <item name="android:layout_margin">5dp</item>
    <item name="android:textSize">18sp</item>
    <item name="android:gravity">center</item>
    <item name="android:paddingTop">5dp</item>
    <item name="android:paddingBottom">5dp</item>
    <item name="android:paddingEnd">10dp</item>
    <item name="android:paddingStart">10dp</item>
    <item name="android:clickable">true</item>
    <item name="android:drawablePadding">5dp</item>
    <item name="android:textColor">@color/border_button_text</item>
    <item name="android:background">@drawable/button_border</item>
</style>

<style name="CustomButtonStyle.Success" parent="@style/CustomButtonStyle">
    <item name="android:background">@drawable/button_success</item>
</style>

这里的按钮正好位于约束布局的最右边...

【问题讨论】:

  • 你能分享你的CustomButtonStyle.Success代码吗??
  • @DrHowdyDoo 更新

标签: android


【解决方案1】:

如果您想使用自定义样式自定义按钮,您的自定义样式应该继承按钮的样式。 像这样:

<style name="CustomStyle" parent="Widget.MaterialComponents.Button">

    <!-- Style your custom button here -->

</style>

欲了解更多信息:Material Button theming
Material3 Button Theming

【讨论】:

  • 添加父样式并没有解决它。但我觉得你很温暖。我从按钮上一起删除了样式,突然间边距开始工作。
  • 如果按钮的样式正确,边距会起作用。
  • 好的,找到罪魁祸首了......
【解决方案2】:

从 Styles.xml 中的 CustomButtonStyle 中删除这一行解决了这个问题:

<item name="android:layout_margin">5dp</item>

【讨论】:

    猜你喜欢
    • 2019-05-13
    • 2021-10-28
    • 1970-01-01
    • 2017-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多