Значок уведомления ConstraintLayout

О значке уведомления ConstraintLayout

Я использовал ConstraintLayout для уведомления, как показано ниже.

здесь я использовал ImageButton и текстовое представление введите здесь описание изображения

выход:

введите здесь описание изображения

здесь я использовал кнопку и текстовое представление

введите здесь описание изображения

выход :

введите здесь описание изображения

вместо кнопки imageview используется кнопка, тогда она выглядит так. может ли кто-нибудь помочь мне решить эту проблему в limitedLayout.

пример: введите здесь описание изображения

когда я пытался с помощью кнопки, она отображалась так.

еще одна новая вещь, которую я узнал, если вы используете значок отображения FrameLayout или RelativeLayout, работает нормально для обоих Button , ImageView или ImageButtom.

Но при длительном нажатии или нажатии кнопки значок уведомления возвращается, в Imageview и imagebutton он работает нормально.


person R KiranKumar    schedule 16.04.2017    source источник
comment
Можете ли вы попробовать добавить android:elevation=0dp для вашей кнопки   -  person Aldrin Mathew    schedule 20.04.2017
comment
я пробовал, это не работает, если отображается тень высота = 10dp   -  person R KiranKumar    schedule 20.04.2017
comment
Я имею в виду использовать высоту 0dp для кнопки и не использовать какую-либо высоту для значка.   -  person Aldrin Mathew    schedule 20.04.2017
comment
да пробовал не работает   -  person R KiranKumar    schedule 20.04.2017
comment
Лучше добавлять фактический код, а не изображения кода.   -  person Suragch    schedule 23.04.2017
comment
Я уже дал XML, вы можете видеть кнопку и уведомление во втором XML   -  person R KiranKumar    schedule 26.04.2017


Ответы (3)


Происходит это потому, что у Button есть своя высота.

Высота выше, вид спереди.

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

android:elevation="10dp"

И вы не хотите масштабировать свое изображение, вы должны использовать ImageView или ImageButton.

person Oğuzhan Döngül    schedule 16.04.2017
comment
это не требуется, если я использую ImaeView или ImageButton, но мне нужно использовать кнопку. Если я использую высоту, она показывает тень. - person R KiranKumar; 16.04.2017
comment
@RKiranKumar, зачем вам нужна кнопка? И android:elevation=10dp решил вашу проблему? - person Oğuzhan Döngül; 16.04.2017
comment
я хочу попробовать это в кнопке - person R KiranKumar; 16.04.2017
comment
@RKiranKumar Если у вас есть изображение на кнопке, используйте ImageButton, разницы нет. Вот для чего он создан. - person Oğuzhan Döngül; 16.04.2017

Используйте этот style="?android:attr/borderlessButtonStyle" в кнопке xml

<Button
        style="?android:attr/borderlessButtonStyle"
        android:background="@mipmap/ic_launcher"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
person CodeCameo    schedule 16.04.2017
comment
Кнопки без полей похожи на обычные кнопки, за исключением того, что у них нет границ или фона, но они по-прежнему меняют внешний вид в разных состояниях, например при нажатии. - person CodeCameo; 16.04.2017
comment
Если это работает для вас, вы можете принять ответ в будущем. - person CodeCameo; 16.04.2017
comment
Извините, это не работает, если я применяю стиль в фоновом режиме, он исчезает, это неправильно. - person R KiranKumar; 16.04.2017
comment
В вашем коде вы устанавливаете изображение в качестве фона. - person CodeCameo; 16.04.2017
comment
если я использую com.abc.xysmm.Button, и тогда фон не отображается как прозрачный - person R KiranKumar; 16.04.2017

Наконец, я получил решение для вышеуказанного вопроса

1 : для кнопки android:высота не повлияет, потому что она имеет внутреннюю высоту.

instead of elevation use android:stateListAnimator="@null"

2 : для других, чем высота кнопки, будет работать

person R KiranKumar    schedule 27.04.2017