Как убрать лишние пробелы между видом и границей контура в Android? - PullRequest
1 голос
/ 24 июня 2019

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>

Ответы [ 3 ]

0 голосов
/ 24 июня 2019

Я думаю, это не лишний пробел, а границы кнопок.С Constraintlayout вы можете настроить вид, используя ограничения top,bottom,start,end.

0 голосов
/ 24 июня 2019

Я изменил ограничение кнопки DELETE на imageview, так же как ограничение TextView, поэтому я могу использовать поле для настройки пространства.Теперь я поставил android:layout_marginStart="14dp", но вы можете изменить его в соответствии с вашими потребностями.

    <?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_marginStart="16dp"
            android:layout_marginTop="16dp"
            android:layout_marginBottom="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:text="aaa gggg bbb"
            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_marginStart="4dp"
            android:layout_marginEnd="16dp"
            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_marginStart="14dp"
            android:layout_marginLeft="15dp"
            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_toEndOf="@+id/req_pp" />


    </android.support.constraint.ConstraintLayout>

</android.support.v7.widget.CardView>
0 голосов
/ 24 июня 2019

Это тень вокруг кнопки на ее фоне.Создайте свой собственный фон, и он исчезнет.Но имейте в виду, что когда вы устанавливаете 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"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...