2012-02-17 42 views

Trả lời

8

Xem phần gọi Nhà nước Danh sách trong bit này của tài liệu ... Drawable Resources.

Bạn có thể xác định hai tệp Button xml khác nhau cho trạng thái 'mặc định' trong suốt và một tệp khác có nút màu đỏ cho trạng thái 'được nhấn' của bạn. Sau đó, bạn xác định một selector sẽ chuyển các tài nguyên có thể kéo được ở các trạng thái khác nhau.

EDIT: Theo nhận xét của devunwired, tài nguyên Danh sách trạng thái màu có lẽ phù hợp hơn cho việc thay đổi màu thay vì bản thân có thể vẽ được.

+6

+1 vì câu trả lời này chủ yếu là chính xác. Tuy nhiên, tôi muốn thêm, bạn có thể thay đổi thuộc tính 'android: textColor' theo cách tương tự như nền có thể vẽ được bằng cách sử dụng Danh sách các trạng thái màu: http://developer.android.com/guide/topics/resources/color-list -resource.html – Devunwired

+0

Doh! Phải, chắc chắn rồi. Tôi cần phải có một liên kết đến đó quá - Tôi chỉ xảy ra để có các liên kết khác đánh dấu để nó đã ở bàn tay. – Squonk

1

Bạn phải làm điều đó trong mã của mình. Hãy thử điều này:

mBtn = ((Button) findViewById(R.id.button1)); 
    mBtn.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      mBtn.setTextColor(Color.RED); 
     } 
    }); 

Declare:

private Button mBtn; 
30

Vâng, bạn có thể làm điều đó như thế:

bố trí/main_layout.xml:

..... 
    <Button 
     android:id="@+id/button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="bonjour !" 
     android:textColor="@color/button_text_color" 
    /> 
..... 

màu/button_text_color.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:color="#c0c0c0" android:state_pressed="true"/> 
    <item android:color="#ffffff"/> 
    </selector> 
+1

chính xác nơi bạn đang thay đổi màu văn bản? bạn đang chơi với nền nhưng không phải màu văn bản –

+1

Không phải '@ drawable/button_text_color', nhưng' @ color/button_text_color'. – CoolMind

Các vấn đề liên quan