2012-10-10 64 views
0

我想在運行時更改選擇器的漸變顏色。我如何編程?Android在運行時更改選擇器的顏色?

以下是選擇器的XML。

<item android:state_pressed="true" > 
     <shape> 
      <gradient 
       android:startColor="#ffff0000" 
       android:endColor="#ffff00ff" 
       android:angle="270" /> 
      <corners 
       android:topLeftRadius="3dp" 
       android:topRightRadius="3dp"/> 
     </shape> 
    </item> 

    <item>   
     <shape> 
      <gradient 
       android:endColor="#ffff0d00" 
       android:startColor="#ffff00d0" 
       android:angle="270" /> 
      <corners 
       android:radius="3dp" /> 
     </shape> 
    </item> 
</selector> 

謝謝。

回答

0

嘗試的代碼

Drawable d = getResources().getDrawable(R.drawable.your_selector_file); 
yourview.setImageDrawable(d); 
+0

我想更改顏色動態而不更改形狀。另外,我不想定義許多XML。 –

0

使用GradientDrawable該位。例如new GradientDrawable(Orientation.TOP_BOTTOM, new int[] { 0xffff0000, 0xffff00ff});

+0

形狀保持? –