Кнопки исчезают при смене фона - PullRequest
0 голосов
/ 28 октября 2018

Фон

Я только начал разработку Android, и мой первый проект - калькулятор. Поскольку у меня было несколько проблем с сеткой и ограниченным макетом, я остановился на макете таблицы. Следующим шагом было бы изменить вид кнопок на круглые кнопки -> поэтому изменить их фон.

Проблема

Когда я оставляю кнопки без фона, макет мне подходит. В тот момент, когда я изменяю фон кнопки на предустановку круглых кнопок, которые я нашел в сети, сама кнопка и каждая кнопка после этого в таблице, исчезает .

Полагаю, проблема в наложении макета, но я не могу найти решение.


Вот код для круглой кнопки

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
        android:color="?android:attr/colorControlHighlight">
    <item android:id="@android:id/mask">
        <shape android:shape="rectangle">
            <solid android:color="@color/colorPrimary" />
            <corners android:radius="40dp" />
        </shape>
    </item>
    <item android:drawable="@drawable/rounded_button" />
</ripple>

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" >
        <shape android:shape="oval">
            <solid android:color="@color/darkColor"/>
            <!---<size android:width="120dp" android:height="120dp"/> -->
        </shape>
    </item>
    <item android:state_focused="true">
        <shape android:shape="oval">
            <solid android:color="@color/primaryColor"/>
            <!---<size android:width="120dp" android:height="120dp"/> -->
        </shape>
    </item>
    <item >
        <shape android:shape="oval">
            <solid android:color="@color/primaryColor"/>
            <!---<size android:width="120dp" android:height="120dp"/> -->
        </shape>
    </item>
</selector>

1 Ответ

0 голосов
/ 28 октября 2018

Изменение внешнего вида ваших кнопок является обычным делом, особенно если вы хотите, чтобы ваша кнопка выглядела иначе при нажатии.Я делаю это программно во время выполнения.

Допустим, вы хотите изменить внешний вид вашей кнопки при нажатии.Допустим, кнопка называется «my-Button» в качестве идентификатора кнопки:

final Button my_button = findViewById(R.id.my_button);
    my_button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // This changes the Button Image.
            my_button.setBackgroundResource(R.drawable.my_new_button_image);
        }
    });

При нажатии она изменит изображение, используемое для кнопки.:)

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