2011-11-16 18 views
18

Android uygulamamda bazı Buttons var. Onlar bir simge ve metin var. Java kodunda Button'un arka plan rengini ayarlayabilirim. Düğmeye tıklandığında farklı bir renkle görüntülemek istiyorum. Yani, Button'un basılı durumu için farklı bir renk nasıl ayarlayabilirim?Düğmenin basılı durumu için farklı bir rengi nasıl ayarlayabilirim?

<Button 
    android:id="@+id/save" 
    android:layout_width="130dip" 
    android:layout_height="wrap_content" 
    android:scaleType="center" 
    android:drawableTop="@drawable/save" 
    android:text="Save" 
    android:textColor="#FFFFFF" 
    android:textSize="14dip" 
> 

onCreate yöntemi:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.homescreen); 
save = (Button)findViewById(R.id.save); 
    save.setBackgroundColor(Color.rgb(27,161,226)); } 
+0

"çekilebilir/edittext_modified_states @" http://stackoverflow.com/questions/4755871/how-to-set-image-button-backgroundimage-for-different-state/4755934#4755934 – ingsaurabh

cevap

39

çekilebilir klasöre

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

yılında mybutton.xml ile bunun gibi düğme resmini kullanarak xml dosyası oluşturmak ve düğme xml kodunda kullanmak

android:background="@drawable/mybutton" 

bu renk kodlarını res'e ekleyin aynak -> değerler -> colors.xml bu

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <color name="blue">#0066cc</color> 
    <color name="gold">#e6b121</color> 
</resources> 

Referans gibi: Sonra düğme arka plan rengini değiştirmek istiyorsanız izleyin olarak Change button background on touch sadece

+0

Cevabınız için teşekkürler, ancak düğme için bir görüntü kullanmadım. – realuser

+0

düğmesine bastığımızda düğmenin arkaplan rengini ayarlamak istiyorum. Bu düğmeyi kullanarak düğme rengini değiştirebiliriz ... –

+0

Android gibi çizilebilir renkler elde etmeye çalıştığımda çok şükür PolamReddyRajaReddy – realuser

2

bir StateList kullanın. Aşağıda preslenmiş devlet için farklı bir çekilebilir bir seçicinin bir örnektir: Aşağıda

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/drawable_for_pressed_state" android:state_pressed="true"/> 
    <item android:drawable="@drawable/drawable_for_normal_state"/> 

</selector> 
5

bir düğme için kullanılan renk devlet listesi için örnek kod edilir

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

    <selector xmlns:android="http://schemas.android.com/apk/res/android" > 
     <item 
      android:color="#c0c0c0" 
      android:state_selected="true"/> 
     <item 
      android:color="#ffffff" 
      android:state_pressed="true"/> 
     <item 
      android:color="#9A9A9A" 
      android:state_focused="false" 
      android:state_pressed="false" 
      android:state_selected="false"/> 
</selector> 
Ayrıca

renk için linki aşağıda kontrol ediniz devlet liste

Sen pres devletler için seçici ile bir çizilebilir kullanmaya gerek

http://developer.android.com/guide/topics/resources/color-list-resource.html

+2

etiketi gerektirir çekilebilir bir –

+0

@IgorGanapolsky tanımlayan bir 'çizilebilir' öznitelik veya çocuk etiketi bu çekilemez bir renk seçici, reskin/renk gider – Tom

-3

do .. sadece

@Override 
    public void onClick(View v) {  
     if(v.getId() == R.id.btn01) { 
       btn1.setBackgroundColor(Color.RED); 
       btn1.setTextColor(Color.WHITE); 

      } 

Bu kodu, onclick butonunun düğmesine ekleyin.

0

edittext_modified_states.xml burada

<?xml version="1.0" encoding="UTF-8"?> 
<selector 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/apptheme_textfield_activated_holo_light" /> 
    <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/apptheme_textfield_focused_holo_light" /> 
    <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/apptheme_textfield_disabled_focused_holo_light"/> 
    <item android:drawable="@drawable/apptheme_textfield_default_holo_light" /> 
</selector> 

: http://android-holo-colors.com git Bu web sitesi ve rengi seçin ve Imort senin çekilebilir içine. goto düzeni xml ve düğme arka planını ayarlayın. android: background =

İlgili konular