Tôi đã làm cho nút của mình trong suốt vì vậy tôi muốn thay đổi màu văn bản nút khi nhấn nút. Có thể thực hiện điều này bằng cách sử dụng các tệp xml không?thay đổi màu văn bản nút khi nhấn
Trả lời
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.
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;
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>
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 –
Không phải '@ drawable/button_text_color', nhưng' @ color/button_text_color'. – CoolMind
Bạn phải thiết lập @drawable
nguồn xml trong textColor
attributte
Dưới đây là ví dụ: Android customized button; changing text color
+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
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