Кнопка Android Image обрезается - PullRequest
       32

Кнопка Android Image обрезается

0 голосов
/ 25 сентября 2018

У меня проблемы с моей деятельностью и кнопкой ImageButton внутри нее.Похоже, что это отсечение:

enter image description here

Это XML-код соответствующей операции:

<?xml version="1.0" encoding="utf-8"?>
<!-- A RecyclerView with some commonly used attributes -->
<LinearLayout xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:id="@+id/todo_linear_layout"
android:layout_height="match_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:orientation="horizontal">

    <ImageButton
        android:id="@+id/imageButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:adjustViewBounds="true"
        app:srcCompat="@android:drawable/ic_input_add" />

    <EditText
        android:id="@+id/edittodo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20px"
        android:layout_weight="5"
        android:textColor="@android:color/black" />
</LinearLayout>

<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/todo_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical" >

</android.support.v7.widget.RecyclerView>
</LinearLayout>

Дополнительно конструктор макетовв Android Studio правильно показывает Макет:

enter image description here

В чем здесь проблема?Я уже пытался изменить значения полей или отступов, но кнопка все еще остается в запущенном приложении на моем устройстве Android.

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

Изменение приложения: srcCompat на: android:src="@android:drawable/ic_input_add" сделал это!Таким образом, проблема заключалась в том, что устройство не нашло этот значок и отображало только что-то серое.

0 голосов
/ 25 сентября 2018

Я полагаю, что происходит то, что на устройстве, на котором вы запускаете ваше приложение, нет нарисованного @android:drawable/ic_input_add.

Я попытался запустить опубликованный вами код, и у меня все заработало.Однако, если я удалю атрибут app:srcCompat из тега <ImageButton>, то получу то же поведение, которое вы опубликовали на своем первом снимке экрана.

В целом, вы не можете полагаться на 100% устройств, имеющих@android: ресурсов.Некоторые производители удаляют ресурсы, а другие заменяют значения бессмысленными (например, я видел @android:color/white серым).

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

app:srcCompat="@drawable/your_own_add"
...