ทรัพยากรรายการสถานะสี
    
    
      
    
    
      
      จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
    
    
      
      บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
    
  
  
      
    
  
  
  
  
  
    
    
    
  
  
    
    
    
ColorStateList
เป็นวัตถุที่คุณสามารถกำหนดใน XML และใช้เป็นสีที่เปลี่ยนสีจริงโดยขึ้นอยู่กับ
สถานะของออบเจ็กต์ View
ด้วย ตัวอย่างเช่น Button
วิดเจ็ตอาจมีอยู่ในได้หลายสถานะ ได้แก่ กด โฟกัส หรือไม่ทั้งคู่ การใช้รายการสถานะสี
คุณสามารถระบุสีที่แตกต่างกันสำหรับแต่ละรัฐได้
คุณอธิบายรายการรัฐในไฟล์ XML แต่ละสีจะกำหนดไว้ในองค์ประกอบ <item> ภายในองค์ประกอบ <selector> รายการเดียว แต่ละ<item>
ใช้แอตทริบิวต์ที่หลากหลายเพื่ออธิบายรัฐที่ใช้
ในระหว่างการเปลี่ยนสถานะแต่ละครั้ง รายการรัฐจะข้ามผ่านจากบนลงล่าง และเป็นรายการแรกที่
ตรงกับสถานะปัจจุบันที่ใช้ การเลือกไม่ได้อิงตามรายการที่ "ดีที่สุด"
แต่เป็นรายการแรกที่ตรงกับเกณฑ์ขั้นต่ำของรัฐ
หมายเหตุ: หากต้องการระบุแหล่งข้อมูลสีคงที่ ให้ใช้
สี color ง่ายๆ
- ตำแหน่งที่ตั้งไฟล์:
 res/color/filename.xml - 
ชื่อไฟล์จะใช้เป็นรหัสทรัพยากร
- ประเภทข้อมูลทรัพยากรที่คอมไพล์:
- ตัวชี้แหล่งข้อมูลไปยัง ColorStateList
- การอ้างอิงทรัพยากร:
- 
ใน Java: R.color.filename
 ใน XML:@[package:]color/filename
- ไวยากรณ์:
- 
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:color="hex_color"
        android:lStar="floating_point_value"
        android:state_pressed=["true" | "false"]
        android:state_focused=["true" | "false"]
        android:state_selected=["true" | "false"]
        android:state_checkable=["true" | "false"]
        android:state_checked=["true" | "false"]
        android:state_enabled=["true" | "false"]
        android:state_window_focused=["true" | "false"] />
</selector>
- องค์ประกอบ:
- 
  - <selector>
- ต้องระบุ นี่คือองค์ประกอบรูท มีองค์ประกอบ <item>อย่างน้อย 1 รายการแอตทริบิวต์: 
        - xmlns:android
- สตริง ต้องระบุ กำหนดเนมสเปซ XML ซึ่งก็คือ
          "http://schemas.android.com/apk/res/android"
 
- <item>
- กำหนดสีที่จะใช้ในบางรัฐตามที่อธิบายไว้ในแอตทริบิวต์ของสี เป็น
ย่อยขององค์ประกอบ <selector>แอตทริบิวต์: 
        - android:color
- สีแบบเลขฐานสิบหก ต้องระบุ ระบุสีด้วยแอตทริบิวต์
ค่า RGB และช่องทางอัลฟ่าที่ไม่บังคับ
ค่านี้มักจะขึ้นต้นด้วยอักขระสี่เหลี่ยม (#) ตามด้วยอักขระ
ข้อมูล Alpha-Red-Green-Blue ในรูปแบบใดรูปแบบหนึ่งต่อไปนี้
 
  - #RGB
- #ARGB
- #RRGGBB
- #AARRGGBB
 
- android:lStar
- จุดทศนิยม ไม่บังคับ แอตทริบิวต์นี้จะแก้ไขความสว่างทางการรับรู้ของสีฐาน โดยใช้ทั้ง
ค่าจุดลอยตัวระหว่าง 0 ถึง 100 หรือแอตทริบิวต์ธีมที่ได้รับการแก้ไข รายการ
สีโดยรวมจะคำนวณโดยการแปลงสีพื้นฐานเป็นพื้นที่สีที่เหมาะกับการช่วยเหลือพิเศษ
และตั้งค่า L* เป็นค่าที่ระบุในแอตทริบิวต์ lStarตัวอย่าง: android:lStar="50"
 
- android:state_pressed
- บูลีน "true"หากใช้รายการนี้เมื่อมีการแตะวัตถุ เช่น เมื่อมีปุ่ม
ถูกแตะหรือคลิก หากใช้งานรายการนี้ในสถานะเริ่มต้นคือไม่ถูกแตะ และเป็น"false"
- android:state_focused
- บูลีน "true"หากใช้รายการนี้เมื่อโฟกัสวัตถุ เช่น เมื่อปุ่ม
จะถูกไฮไลต์โดยใช้แทร็กบอลหรือ D-pad หากเลือก "รายการนี้" เป็นค่าเริ่มต้น ระบบจะราคา"false"สถานะที่ไม่ได้มุ่งเน้น
- android:state_selected
- บูลีน "true"หากใช้รายการนี้เมื่อเลือกออบเจ็กต์ เช่น เมื่อ
เปิดอยู่ ค่าดังกล่าวเป็น"false"หากใช้รายการนี้เมื่อไม่ได้เลือกออบเจ็กต์
- android:state_checkable
- บูลีน "true"หากใช้รายการนี้เมื่อตรวจสอบออบเจ็กต์ได้ อุณหภูมิ"false"หากเป็นเช่นนี้
จะใช้เมื่อตรวจสอบออบเจ็กต์ไม่ได้ มีประโยชน์เมื่อออบเจ็กต์สามารถ
การเปลี่ยนไปมาระหว่างวิดเจ็ตที่ทำเครื่องหมายได้และไม่ได้
- android:state_checked
- บูลีน "true"หากใช้รายการนี้เมื่อเลือกออบเจ็กต์ อุณหภูมิ"false"หากเป็น
ใช้เมื่อยกเลิกการเลือกออบเจ็กต์
- android:state_enabled
- บูลีน "true"หากใช้รายการนี้เมื่อเปิดใช้ออบเจ็กต์ คุณจะดำเนินการต่อไปนี้ได้
การได้รับกิจกรรมการสัมผัสหรือการคลิก โดยค่าจะเป็น"false"หากใช้เมื่อปิดใช้ออบเจ็กต์
- android:state_window_focused
- บูลีน "true"หากใช้รายการนี้เมื่อหน้าต่างแอปพลิเคชันโฟกัสอยู่
ซึ่งหมายถึง
อยู่เบื้องหน้า เป็น"false"หากใช้รายการนี้เมื่อแอปพลิเคชัน
จะไม่มีโฟกัส เช่น หากหน้าต่างแจ้งเตือนถูกดึงลงหรือกล่องโต้ตอบปรากฏขึ้น
 หมายเหตุ: รายการแรกในรายการรัฐที่
ตรงกับสถานะปัจจุบันของอ็อบเจกต์ที่จะนำมาใช้ ดังนั้น ถ้ารายการแรกในลิสต์มี
ไม่มีแอตทริบิวต์สถานะก่อนหน้า ดังนั้นจึงมีการใช้ทุกครั้ง ด้วยเหตุนี้ โปรดวาง
ค่าเริ่มต้นสุดท้าย ดังที่แสดงในตัวอย่างต่อไปนี้ 
 
- ตัวอย่าง:
- ไฟล์ XML ที่บันทึกไว้ที่ res/color/button_text.xml:<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true"
          android:color="#ffff0000"/> <!-- pressed -->
    <item android:state_focused="true"
          android:color="#ff0000ff"/> <!-- focused -->
    <item android:color="#ff000000"/> <!-- default -->
</selector>XML เลย์เอาต์ต่อไปนี้จะใช้รายการสีกับ View
 <Button
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/button_text"
    android:textColor="@color/button_text" />
- ดูเพิ่มเติม
- 
 
    
  
  
    
      
      
    
    
      
    
    
  
       
    
    
      
    
  
  
  ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
  อัปเดตล่าสุด 2025-07-27 UTC
  
  
  
    
      [[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2025-07-27 UTC"],[],[]]