java - Android 中如何删除 View 与其轮廓边框之间的多余空格?

标签 java android xml android-studio android-layout

screenshot of my Android studio editor

如何去掉这些用红色标记的空格? 我尝试将填充设置为零,但没有任何变化

<Button
    android:id="@+id/req_delete_btn"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginEnd="4dp"
    android:text="Delete"
    app:layout_constraintBottom_toBottomOf="@+id/req_pp"
    app:layout_constraintEnd_toStartOf="@+id/req_accept_btn"
    app:layout_constraintHorizontal_chainStyle="spread"
    app:layout_constraintStart_toStartOf="@+id/req_name" />

注意:android:layout_width="0dp" 因为它与另一个按钮有约束并随之扩展。

完整的 xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_constraintTop_toTopOf="parent">

    <android.support.constraint.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">


        <ImageView
            android:id="@+id/req_pp"
            android:layout_width="90dp"
            android:layout_height="90dp"
            android:layout_marginBottom="16dp"
            android:layout_marginStart="16dp"
            android:layout_marginTop="16dp"
            android:background="@drawable/default_pp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <TextView
            android:id="@+id/req_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="16dp"
            android:textAppearance="@style/TextAppearance.AppCompat.Medium"
            app:layout_constraintStart_toEndOf="@+id/req_pp"
            app:layout_constraintTop_toTopOf="@+id/req_pp" />

        <Button
            android:id="@+id/req_accept_btn"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginEnd="16dp"
            android:layout_marginStart="4dp"
            android:text="Accept"
            app:layout_constraintBottom_toBottomOf="@+id/req_delete_btn"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@+id/req_delete_btn" />

        <Button
            android:id="@+id/req_delete_btn"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginEnd="4dp"
            android:text="Delete"
            app:layout_constraintBottom_toBottomOf="@+id/req_pp"
            app:layout_constraintEnd_toStartOf="@+id/req_accept_btn"
            app:layout_constraintHorizontal_chainStyle="spread"
            app:layout_constraintStart_toStartOf="@+id/req_name" />


    </android.support.constraint.ConstraintLayout>

</android.support.v7.widget.CardView>

最佳答案

它是背景可绘制中按钮周围的阴影。创建你自己的背景,它就会消失。但请记住,当您设置 android:background="@null"时,按钮会丢失其触摸动画,但事实证明,将背景设置为任何内容都可以修复该边框。

您也可以尝试使用:<Button android:minHeight="0dp" android:minWidth="0dp"

或者按照您的按钮样式:

<item name="android:minHeight">0dp</item>
<item name="android:minWidth">0dp</item>

或者尝试:android:includeFontPadding="false"

关于java - Android 中如何删除 View 与其轮廓边框之间的多余空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56729749/

相关文章:

android - 如何在没有公共(public)构造函数的情况下通过 Android list ?

java - 类型不匹配 : cannot convert from org. apache.http.HttpResponse

java - 如何使用接口(interface)从 Activity 回调回 fragment

java - java中的socket读取策略

java - 可扩展 ListView 的烦人 SQLite 查询问题

java - 使用 JAXB 注释,当每个列表元素的名称未知时,如何获取包装在元素中的列表的每个 XML 元素?

java - 将 ORACLE 数据类型映射到 JAVA 数据类型

android - 如何使用 MediaExtractor 和 MediaCodec 设置流式音频?

android - 为android编译C库

python - 使用 (X)HTML 实体解析 XML