Кнопка Android, отображаемая не отображается - PullRequest
0 голосов
/ 29 августа 2018

Я хочу иметь круглую кнопку. Он показывает дизайнера, как и ожидалось, но сама кнопка не отображается на реальном устройстве во время работы, и когда я нажимаю на положение кнопки, она абсолютно ничего не делает.

Почему кнопка не отображается?

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
 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"
android:background="#000">




<android.support.v7.widget.AppCompatButton
    android:id="@+id/security_calling_disarm"
    android:layout_width="wrap_content"
    android:layout_height="82dp"
    android:layout_marginBottom="91dp"
    android:layout_marginStart="56dp"
    android:background="@drawable/security_calling_disarm"
    android:visibility="visible"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintStart_toStartOf="parent" />

Файл для рисования

<?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
        <solid android:color="#00FF00"/>
    </shape>

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

Поскольку вы устанавливаете layout_width на wrap_content, фигуре не хватает ширины для рисования.

Попробуйте изменить его на что-то вроде этого:

<android.support.v7.widget.AppCompatButton
    android:id="@+id/security_calling_disarm"
    android:layout_width="0dp"
    android:layout_height="82dp"
    android:layout_marginBottom="91dp"
    android:layout_marginStart="56dp"
    android:background="@drawable/security_calling_disarm"
    android:visibility="visible"
    app:layout_constraintDimensionRatio="1:1"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintStart_toStartOf="parent" />

Таким образом app:layout_constraintDimensionRatio="1:1" и android:layout_width="0dp" обеспечат, чтобы ширина соответствовала высоте.

0 голосов
/ 29 августа 2018

Пожалуйста, убедитесь, что вы добавили верхние и конечные ограничения. Как сказано в документации, после запуска на реальном устройстве он может отображаться некорректно, если вы не установили все ограничения.

...