2016-01-25 63 views
-1

我使用下面的代碼,以使一個星號按鈕:我可以改變顏色嗎?

<Button 
    android:id="@+id/leftButton" 

    android:onClick = "Star" 
    android:layout_width="100dp" 
    android:layout_height="100dp" 
    android:Color="#FFFF00" //I tried adding this, but no luck :(
    android:layout_alignParentTop="true" 
    android:background="@android:drawable/btn_star" /> 

按鈕目前看起來是白色:

enter image description here

反正我有可以令它發黃?

我知道我不能有兩個背景屬性,但有什麼我可以做的,以改變這顆恆星的顏色?我希望將星形保留爲背景屬性,而不是源屬性,因爲我希望能夠更改它的大小。

+0

我真的很感激任何幫助,因爲我一直在試圖找出了這一點現在一個多小時! –

+1

你怎麼決定什麼時候顯示黃色版本? – Blackbelt

+0

你想改變顏色爲黃色onclick?或者只是一個靜態的黃色圖標?如果是靜態的,爲什麼不用黃色的替換可繪製的圖標? –

回答

0

不是直接。您可以添加不同的彩色圖像並在運行時更改它們,但更好的方法是使用xml drawable。對於XML文件的圖標看看https://materialdesignicons.com(也有更多的網站像外)

在XML文件中,你可以改變顏色直接

2

如果你想黃色星形圖標,那麼你就可以爲此使用ColorFiler。如下:

Drawable drawable = getResources().getDrawable(android.R.drawable.star); 
drawable.setColorFilter(Color.YELLOW, PorterDuff.Mode.SRC_ATOP); 

希望這會有所幫助。

+0

什麼是'PorterDuff.Mode.SRC_ATOP' –

+0

這是什麼意思?謝謝! –

+0

請通過鏈接http://ssp.impulsetrain.com/porterduff.html,它有不同的porterduff模式很好的解釋。 –

0

您的xml文件。

<Button 
     android:id="@+id/leftButton" 
     android:tint="@color/yellow_tint" 
     android:onClick = "Star" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:layout_alignParentTop="true" 
     android:background="@android:drawable/btn_star" /> 

colors.xml

<resources> 

<color name="yellow_tint">#FFFF00</color> 

</resources> 

試試吧,讓我知道。參考:Working with Drawables。我很害怕android:color在Drawables中不起作用。

+0

沒有工作...白色... –

0

上繪製文件夾(background_star.xml):

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/star_yellow" <!-- image yellow --> 
     android:state_pressed="true" /> 
    <item android:drawable="@drawable/star_normal" /> <!-- image normal--> 
</selector> 

上佈局文件:

<ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="cancel alarm" 
     android:id="@+id/button2" 
     android:background="@drawable/background_star" <!-- change this --> 
     android:layout_centerHorizontal="true" /> 
+0

使用ImageView的方形圖像... – Lucas

+0

無法解析符號'star_yellow' ... –

+0

盧卡斯似乎建議您爲此添加其他資產。 – Barett

相關問題