มุมมองการเลื่อนการ์ด

เพิ่มในระดับ API XE12 แล้ว

View ที่แสดงการดูแบบเลื่อนได้ของเด็กๆ หรือที่เรียกว่าการ์ด

การ์ดมาจาก CardScrollAdapter ที่เชื่อมโยงกับ CardScrollView การ์ดแต่ละใบจะแสดง Object แต่ละรายการอย่างชัดเจน

ดูข้อมูลเพิ่มเติมที่หัวข้อการเลื่อนการ์ดในกิจกรรม

การใช้งานทั่วไป

  1. สร้างชุดการ์ดโดยใช้ลําดับชั้นข้อมูลพร็อพเพอร์ตี้มาตรฐานหรือคลาส CardBuilder
  2. ใช้ CardScrollAdapter เพื่อระบุชุดการ์ดไปยัง CardScrollView การ์ดแต่ละใบมีตัวระบุ Object ที่ไม่ซ้ํากันและแสดงถึงรายการ Object บางรายการ
  3. ตั้งค่ามุมมองเนื้อหากิจกรรมเป็น CardScrollView หรือใช้ CardScrollView ในเลย์เอาต์

การจัดการการเลื่อนและการโต้ตอบ

CardScrollView แจ้งให้คุณทราบด้วยอินเทอร์เฟซผู้ฟังต่อไปนี้ที่รับช่วงมาจาก AdapterView

  • AdapterView.OnItemSelectedListener - ระบบเลือกรายการหลังจากที่ผู้ใช้เลื่อนดูรายการจนสุดรายการแล้ว
  • AdapterView.OnItemClickListener - ผู้ใช้คลิกรายการหนึ่งๆ ที่ผู้ใช้แตะและปล่อยรายการที่เลือกไว้
  • AdapterView.OnItemLongClickListener) - รายการคลิกค้างเมื่อผู้ใช้แตะ คงไว้ชั่วคราว และปล่อยรายการที่เลือกอยู่

ชั้นเรียนที่ฝังไว้
enum CardscrollView.Animation กําหนดประเภทภาพเคลื่อนไหวที่ใช้เพื่อไปยังส่วนต่างๆ แทรก หรือลบการ์ด
ค่าคงที่ที่รับช่วงมา
ช่องที่รับช่วงมา
สิ่งก่อสร้างสาธารณะ
CardCardView (บริบท บริบท)
เมธอดสาธารณะ
โมฆะ
บูลีน
ภาพเคลื่อนไหว(ตําแหน่งต้นทาง, CardscrollView.Animation ประเภทภาพเคลื่อนไหว)
โมฆะ
CardCardAdapter
long
int
ดู
บูลีน
บูลีน
บูลีน
onKeyDown (int keyCode, KeyEvent event)
โมฆะ
onWindowFocusChanged(บูลีน HasWindowFocus)
โมฆะ
setAdapter(อะแดปเตอร์ CardscrollAdapter)
โมฆะ
setemptyView(ดูemptyView)
โมฆะ
setHorizontalscrollBarEnabled(เปิดใช้บูลีน)
โมฆะ
setSelection(ตําแหน่งคําแนะนํา)
เมธอดที่ป้องกันไว้
บูลีน
บูลีน
dispatchGeneralFocusedEvent(เหตุการณ์ MotionEvent)
โมฆะ
โมฆะ
onLayout (เปลี่ยนบูลีน ซ้ายใน แทรกใน ด้านบนขวา ด้านล่าง)
โมฆะ
onมองเห็นได้Changed(ดูเปลี่ยนView, ระดับการเข้าถึง Int)
วิธีการรับค่า

สิ่งก่อสร้างสาธารณะ

เพิ่มในระดับ API XE12 แล้ว

สาธารณะ CardscrollView (บริบท)

เพิ่มในระดับ API XE12 แล้ว

สาธารณะ CardCardView (บริบท, แอตทริบิวต์ชุด)

เพิ่มในระดับ API XE12 แล้ว

สาธารณะ CardCardView (บริบท, แอตทริบิวต์ชุด, int defStyle)

เมธอดสาธารณะ

เพิ่มในระดับ API XE12 แล้ว

สาธารณะ นักพัฒนาซอฟต์แวร์ เปิดใช้งาน ()

บอก CardScrollView ให้เปิดใช้งานและพร้อมแสดง TODO(ajcbik): ตรวจสอบว่าเราสามารถแทนที่[de]เปิดใช้งานด้วยกิจกรรมที่ต้องการสมาธิได้หรือไม่ โปรดดูคําขอ b/17574566

เพิ่มในระดับ API XE21 แล้ว

สาธารณะ บูลีน แอนิเมชัน (ตําแหน่ง int, CardscrollView.Animation ภาพเคลื่อนไหว)

ภาพเคลื่อนไหวของบัตรในตําแหน่งที่ระบุ โดยที่ animationType ควรเป็นหนึ่งในสิ่งต่อไปนี้

  • NAVIGATION: ย้ายไปยังการ์ดที่ต้องการจากตําแหน่งใดก็ได้ การนําทางปกติ
  • INSERTION: ย้ายไปยังการ์ดที่ระบุ ซึ่งจะปรากฏในมุมมองหลังการแทรก
  • DELETION: การ์ดที่ระบุจะหายไปจากมุมมอง (หากเลือกไว้) หลังจากที่ลบ
ระบบจะข้ามภาพเคลื่อนไหวหากแถบเลื่อนปิดอยู่ หากภาพเคลื่อนไหวแบบอิสระก่อนหน้านี้ยังคงดําเนินต่อ หรือตําแหน่งไม่ถูกต้อง ภาพเคลื่อนไหวการลบจะเกิดขึ้นเฉพาะในกรณีที่เลือกการ์ดที่ลบไปแล้วเท่านั้น

ควรใช้ภาพเคลื่อนไหวในการแทรกและการลบหลังจากการกลายพันธุ์ที่สอดคล้องกันใน CardScrollAdapter ภาพเคลื่อนไหวจะเรียกใช้ notifyDataSetChanged() ในอะแดปเตอร์ในช่วงเวลาที่เหมาะสมในภาพเคลื่อนไหว แม้จะถูกข้ามหรือสิ้นสุดลงก่อนกําหนด

ตัวอย่างการใช้งาน

 .... insert card at p-th position in adapter ....
 animate(p, INSERTION);    // calls notifyDataSetChanged() on adapter
 

พารามิเตอร์
position ของการ์ดที่เกี่ยวข้องกับภาพเคลื่อนไหว
ประเภทภาพเคลื่อนไหว ควบคุมประเภทภาพเคลื่อนไหวที่จะใช้
การคืนสินค้า
  • ภาพเคลื่อนไหวเริ่มหรือยัง
เพิ่มในระดับ API XE12 แล้ว

สาธารณะ Null ปิดใช้งาน ()

บอก CardScrollView ให้ปิดใช้งาน ซึ่งจะไม่แสดงจนกว่าจะมีการเรียก activate() อีกครั้ง

เพิ่มในระดับ API XE12 แล้ว

สาธารณะ CardCardAdapter getAdapter ()

สาธารณะ ยาว getSelectedItemId ()

เพิ่มในระดับ API XE12 แล้ว

สาธารณะ int getSelectedItemPosition ()

เพิ่มในระดับ API XE12 แล้ว

สาธารณะ ดู getSelectedView ()

เพิ่มในระดับ API XE12 แล้ว

สาธารณะ บูลีน isActivated ()

สาธารณะ บูลีน isHorizontalscrollBarEnabled ()

สาธารณะ บูลีน onKeyDown (int keyCode, KeyEvent event)

สาธารณะ Null onWindowFocusChanged (บูลีน HasWindowFocus)

เพิ่มในระดับ API XE12 แล้ว

สาธารณะ Null setAdapter (CardscrollAdapter)

สาธารณะ Null setemptyView (ดูemptyView)

CardScrollView ไม่รองรับ setEmptyView(View)

หากต้องการดูภาพเคลื่อนไหวที่เหมาะสมและพฤติกรรมที่สามารถระบุได้ ให้ใช้อะแดปเตอร์ที่มีมุมมองที่ว่างเปล่าเดียวสําหรับชุดข้อมูลที่ว่างเปล่าแทน

สาธารณะ blank setHorizontalscrollBarEnabled (เปิดใช้บูลีน)

เพิ่มในระดับ API XE12 แล้ว

สาธารณะ Null setSelection (ตําแหน่ง int)

เมธอดที่ป้องกันไว้

ได้รับการปกป้อง บูลีน awakenscrollBars ()

ปลุกแถบเลื่อนแนวนอน (หากมี)

มีการป้องกัน บูลีน dispatchGeneralFocusedEvent (เหตุการณ์ MotionEvent)

มีการป้องกัน Null initializescrollbars (TypedArray a)

เพิ่มในระดับ API XE12 แล้ว

มีการป้องกัน Null onLayout (บูลีนเปลี่ยน ซ้ายซ้าย ส่วนบน ขวา ด้านใน)

มีการป้องกัน Null onระดับการเข้าถึงChanged (ดู เปลี่ยนมุมมอง, ระดับการเข้าถึง Int)