簡體   English   中英

從Java代碼更改XML顏色

[英]Changing XML color from java code

我想要一個圓形的button ,我可以從.java文件中更改其背景顏色。

我不想使用更改為完成此操作的圓形圖像,因為我想潛在地使用任何十六進制顏色,並且我需要太多圖像。

我創建了一個名為roundbutton的XML文件,該文件通過使用45個角半徑顯示一個圓形按鈕,但是我需要能夠從.java中更改color屬性(例如android:color="#ff0000"

如果我使用buttonname.setBackgroundColor(Color.rgb(0, 255, 0));圓形按鈕現在立即顯示確定,但僅顯示我在xml文件中設置的顏色buttonname.setBackgroundColor(Color.rgb(0, 255, 0)); 圓將被一個正方形取代,因此,如果只有我可以從.java更改它,則可以使用XML color屬性工作!

順便說一下,我在按下另一個按鈕時更改了此圓形按鈕的顏色。

希望這有意義,在此先感謝!

XML圈:

<?xml version="1.0" encoding="utf-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle">
    <solid android:color="#ff0000" />  <<<<NEED TO CHANGE THE COLOUR CODE HERE FROM WITHIN .JAVA
    <corners android:bottomRightRadius="45dp"
    android:bottomLeftRadius="45dp"  
    android:topRightRadius="45dp"
    android:topLeftRadius="45dp"/>
</shape>

使用.setBackgroundColor(getResources().getColor(R.color.your_color_in_xmlfile)); 在要更改顏色的按鈕上的onClickListener() ,否則使用

View.setBackgroundColor(Color.parseColor("#E7FC3A")); 

並且如果您正在使用.java文件,即不從.xml文件中設置顏色,否則它將不會對方向更改產生影響

使用.setBackgroundColor(getResources().getColor(R.color.your_color_in_xmlfile));創建另一個具有不同顏色和訪問文件形狀的xml .setBackgroundColor(getResources().getColor(R.color.your_color_in_xmlfile));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM