Android 当按钮中有viewStart对象时,将文本居中

Android 当按钮中有viewStart对象时,将文本居中,android,android-layout,Android,Android Layout,我的活动中有一个谷歌登录按钮。我在按钮上的viewStart位置有一个google徽标。使其将正常居中的文本移离中心 按钮xml: <Button android:id="@+id/signInBtn" android:layout_width="0dp" android:layout_height="50dp" android:layout_marginStart=

我的活动中有一个谷歌登录按钮。我在按钮上的viewStart位置有一个google徽标。使其将正常居中的文本移离中心

按钮xml:

<Button
        android:id="@+id/signInBtn"
        android:layout_width="0dp"
        android:layout_height="50dp"
        android:layout_marginStart="26dp"
        android:layout_marginEnd="26dp"
        android:layout_marginBottom="108dp"
        android:background="@drawable/roung_bg"
        android:drawableStart="@drawable/ic_google_logo"
        android:elevation="@dimen/elevation"
        android:text="@string/logIn"
        android:textAlignment="center"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent" />

结果:

我对此不满意,希望将“登录”文本放在布局的中心。如何实现这一点?

创建相对布局 添加宽度匹配的按钮\u parent和 在布局中添加google徽标作为图像 现在在按钮中添加
android:textAlignment=“center”
并在布局中将徽标向左对齐


现在,您可以轻松地对齐按钮和图像

您不应该使用drawbleStart,使用两个视图来更改google徽标的大小或文本的位置,示例

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:background="@color/colorAccent"
    android:layout_marginStart="26dp"
    android:layout_marginEnd="26dp"
    android:layout_marginBottom="108dp">
    <TextView
        android:id="@+id/signInBtn"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:background="#FFFFFF"
        android:text="LOG IN"
        android:textColor="#000000"
        android:textAlignment="center"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        android:gravity="center"
        android:layout_centerInParent="true"/>
    <ImageView
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_alignParentStart="true"
        android:background="@drawable/ic_google"
        android:layout_centerVertical="true"/>
    
</RelativeLayout>

您尝试过填充或边距和文本样式吗?