gpt4 book ai didi

java - 圆边形状按钮未显示在设备上

转载 作者:太空宇宙 更新时间:2023-11-04 12:13:54 24 4
gpt4 key购买 nike

我一直在 Android Studio 上开发这个温度转换器应用程序,并且正在努力制作圆角按钮。我已经完成了研究,将 XML 文件用于可绘制对象是我拥有的最佳选择。但是,我计划不是在主 Activity xml 文件中而是通过 JAVA 进行调整(因为我希望单独单击时按钮形状更改为圆角框形状)

现在,我的主要 Activity java 的一部分看起来像

mmBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mmSelectedClicked[0] = true;
cmSelectedClicked[0] = false;
kmSelectedClicked[0] = false;
miSelectedClicked[0] = false;
mSelectedClicked[0] = false;
ydSelectedClicked[0] = false;
inSelectedClicked[0] = false;

kmBtn.setBackgroundColor(Color.parseColor("#FFFFFFFF"));
cmBtn.setBackgroundColor(Color.parseColor("#FFFFFFFF"));
miBtn.setBackgroundColor(Color.parseColor("#FFFFFFFF"));
mBtn.setBackgroundColor(Color.parseColor("#FFFFFFFF"));
ydBtn.setBackgroundColor(Color.parseColor("#FFFFFFFF"));
inBtn.setBackgroundColor(Color.parseColor("#FFFFFFFF"));
if(mmSelectedClicked[0] == true){
view.setBackground(ColorDrawable.createFromPath("roundbutton"));
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
HscrollView1.smoothScrollTo((int) mmBtn.getX() - 150, 0);
}
}, 500);
} else {
}
}
});

我已经实现了:

view.setBackground(ColorDrawable.createFromPath("roundbutton"));

将背景(drawable)更改为drawable文件夹下的“roundbutton.xml”。

应用程序不会崩溃,但是,按钮背景显示在无色边框矩形框中,我没有在“roundbutton.xml”中设置它。

enter image description here

如上所示,当我初始化应用程序时,应用 xml(可绘制)的按钮显示为带有丑陋边框线的左侧按钮框(毫米)。 (仅供引用,右侧按钮是非 xml 应用按钮,但这应该是根据 roundbutton.xml 应显示的颜色。

在我的 Android Studio 预览中,框似乎按照我的 roundbutton.xml 中的描述显示(也是全彩色的,而不是白色框),但在我的实际应用程序中,它不会显示。

我的圆形按钮 xml 代码:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
<!-- you can use any color you want I used here gray color-->
<solid android:color="#CEF8D6"/>
<corners android:radius="10dp"
android:bottomRightRadius="10dp"
android:bottomLeftRadius="10dp"
android:topLeftRadius="10dp"
android:topRightRadius="10dp"/>
</shape>

我想将我的可绘制图像作为按钮的背景,当我按下其他按钮时,它会恢复到正常的#FFFFFFFF。

如果您能解决这个问题,我将不胜感激。 :-)

最佳答案

您可以尝试使用状态选择器......

在您的可绘制文件夹中创建新文件selectors.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/roundbutton" />
<item android:state_focused="true" android:drawable="@drawable/roundbutton" />
<item android:state_focused="false" android:drawable="@color/defaultColorWhite" />
<item android:drawable="@color/defaultColorWhite" />
</selector>

然后在你的按钮上放置

<button
.....

android:background:@drawable/selectors
/>

关于java - 圆边形状按钮未显示在设备上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39605957/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com