CardView按钮和文本没有对齐

use*_*886 6 android material-design

我在使用与文本开头对齐的按钮创建CardView时遇到问题:

有问题的CardView的屏幕截图

我正在遵循材料设计规范中为填充和文本大小设置的尺寸.这是我正在使用的XML:

<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="8dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="16dp"
            android:paddingLeft="16dp"
            android:paddingRight="16dp"
            android:paddingTop="24dp"
            android:text="Title goes here"
            android:textColor="@color/primary_text_default_material_light"
            android:textSize="24sp" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="16dp"
            android:paddingLeft="16dp"
            android:paddingRight="16dp"
            android:text="Subtitle here"
            android:textSize="14sp" />

        <Button
            style="@style/Base.Widget.AppCompat.Button.Borderless.Colored"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="8dp"
            android:padding="0dp"
            android:text="Action 1"
            android:textColor="@color/accent_material_light" />
    </LinearLayout>
</android.support.v7.widget.CardView>
Run Code Online (Sandbox Code Playgroud)

在视觉上,文本的开头和无边框按钮文本之间存在差距.

在此输入图像描述

材料设计规范中所示,按钮以及标题和副标题的开头应排成一行:

显示对齐的文本和按钮的材料设计cardview

我哪里错了?

小智 3

您应该删除 android:layout_margin 和 android:padding 属性并替换为 android:paddingLeft="8dp" ,如下所示。您还应该考虑使用 android:paddingStart 更好地支持从右到左布局,并使用 android:paddingRight 和 android:paddingEnd 更好支持从右到左对称。

    <Button
        style="@style/Base.Widget.AppCompat.Button.Borderless.Colored"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="8dp"
        android:text="Action 1"
        android:textColor="@color/accent_material_light" />
Run Code Online (Sandbox Code Playgroud)