更改背景时按钮消失

时间:2018-10-28 20:45:06

标签: android android-studio kotlin material-design

背景

我刚刚开始Android开发,而我的第一个项目是计算器。 由于网格和约束布局存在一些问题,因此我选择了表格布局。下一步是将按钮的外观更改为圆形按钮->从而更改其背景。

问题

当我使按钮没有背景时, the layout looks fine to me. 当我将按钮的背景更改为在网上找到的圆形按钮的预设,按钮本身以及表格disappears之后的每个按钮时。

我猜问题是布局重叠,但是我似乎找不到解决方案。


这是圆形按钮的代码

<?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 :(得分:-1)

更改按钮的外观很常见,尤其是当您希望按钮在单击时看起来有所不同时。我在运行时以编程方式进行操作。

让我们说您想在单击按钮时更改按钮的外观。 假设该按钮被称为“ my-Button”作为您的按钮ID:

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);
        }
    });

单击时将更改用于按钮的图像。 :)