Blog chia sẻ kinh nghiệm lập trình Android
Hôm nay mình sẽ giới thiệu các bạn một cách thay đổi màu nền hay màu chữ khi bạn click hay không click trên đối tượng đó bằng cách sử dụng các file.xml xây dựng như sau :
  Mình vẫn sử dụng bài Helloworld để làm ví dụ.
đầu tiên bạn tạo thư mục tên là color theo đường dẫn : res/color
Tiếp theo tạo file.xml tên là color_textbutton và có dạng :

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

...............


</selector>




Ý nghĩa các dòng code trong file.xml :
• Android:color : chọn một màu bất kì từ trang Bảng màu
• Android:state_pressed =true  màu được chọn kiểu này sẽ hiển thị khi user ấn vào đối tượng.
• Android:state_checkable=true
• Android:state_checked=true
• Android:state_enabled=true
 Nếu là false là các thẻ trên sẽ chọn màu khi đối tượng không được tác động.

Quay lại bài tập, mình thay đổi file color_textbutton như sau :

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

<selector xmlns:android="http://schemas.android.com/apk/res/android">
   
      <item android:color="#8B7500" android:state_activated="true"/>
    <item android:color="#BCEE68" android:state_pressed="true"/>
    <item android:color="#FF4040" android:state_activated="false"/>
   
</selector>






Vậy sử dụng nó như thế nào ?
 để sử dụng file vừa tạo các bạn chỉ cần  thay màu chọn cho phần tử đó bằng đường dẫn tới file vừa tạo xong.
VD: 
        android:textColor="#FFFFFF" thành     android:textColor="@color/color_textbutton"
Còn phần thiên biến vạn hóa thế nào là tùy các bạn nhé ^^.




Ok các bạn chạy thử khi click màu text button đổi từ đỏ => xanh là thành công rồi.

 Cách này có nhược điểm là khi custom như vậy các text được chọn màu bằng thư mục đó trong main.xml sẽ bị ẩn đi chỉ khi chạy ta mới thấy. hơi khó khăn chút nhưng được màu text khi chạy lại rất đẹp.




Chúc các bạn thành công , ở bài tiếp theo mình sẽ hướng dẫn các bạn thay back ground bằng hình ảnh.

Mọi thắc mắc các bạn liên hệ mình qua địa chỉ Gmail : svk10acntt@gmail.com


0 comments:

Post a Comment

http://knlaptrinhandroid.blogspot.com/

 
Top