WEBVTT

1
00:00.140 --> 00:00.980
ยินดีต้อนรับกลับมา

2
00:00.980 --> 00:03.460
ในวิดีโอที่ผ่านมา
เราได้สร้างเลเยอร์โมดัลวิว

3
00:03.470 --> 00:06.280
ตอนนี้เรามาสร้างชั้นมุมมองกัน

4
00:06.290 --> 00:10.580

วัตถุประสงค์ของเลเยอร์นี้คือเพื่อแจ้งให้โมดอลมุมมองทราบเกี่ยวกับการกระทำของผู้ใช้

5
00:10.580 --> 00:16.120

เลเยอร์นี้สังเกตโมเดลมุมมองและไม่ประกอบด้วยตรรกะของแอปพลิเคชันใด
ๆ

6
00:16.130 --> 00:20.060
ฉันจะสร้างแพ็กเกจใหม่และตั้งชื่อว่า view

7
00:20.090 --> 00:24.500
โปรดจำไว้ว่า
ชื่อของแพ็กเกจควรใช้ตัวอักษรเล็ก

8
00:24.500 --> 00:31.580
ฉันจะย้ายไปที่เลย์เอาต์ XML
ของกิจกรรมใต้เส้นใต้หลัก ไปที่โหมดแยก
ออกมุมมองข้อความนี้
และฉันจะสร้างมุมมองรีไซเคิล Matchparent

9
00:31.580 --> 00:41.750
Matchparent id recycler view และคลิกที่
infer constraints

10
00:41.750 --> 00:42.680
และนี่ก็เริ่มแล้ว

11
00:42.680 --> 00:45.770
นี่คือ XML กิจกรรมหลักของเรา

12
00:45.770 --> 00:53.240
และในแอปพลิเคชันนี้
ผมจะแนะนำเลย์เอาต์ใหม่ซึ่งคือเลย์เอาต์รีเฟรชแบบปัด
ซึ่งจะตรวจจับการปัดในแนวตั้ง
แถบความคืบหน้าที่โดดเด่น

13
00:53.240 --> 01:00.090
และเรียกใช้เมธอด callback ในแอปของคุณ

14
01:00.090 --> 01:08.040
ไปที่ developer.android.com และค้นหา Swipe
to refresh

15
01:08.040 --> 01:09.600
เลื่อนลงมาและเลือก Kotlin
แล้วฉันจะคัดลอกการพึ่งพา (dependency) นี้

16
01:09.630 --> 01:17.580
กลับไปที่ Android studio

17
01:17.580 --> 01:18.780

และที่นี่เพื่อสร้างผลิตภัณฑ์ที่นี่ในส่วนของการพึ่งพา
ฉันจะเพิ่มการปัดเพื่อรีเฟรชการซิงค์

18
01:18.780 --> 01:27.030
ตอนนี้เราย้อนกลับไปที่ไฟล์ XML
ของกิจกรรมหลักกันเถอะ
และที่นี่ฉันต้องการลบเลย์เอาต์ข้อจำกัดนี้ออก
แล้วฉันจะแทนที่ด้วย swipe android x

19
01:27.030 --> 01:36.450
dot swipe refresh layout dot widget dot
swipe

20
01:36.450 --> 01:42.490
refresh layout และความกว้างของเลย์เอาต์คือ
matchparent และความสูงคือ match score per.

21
01:42.570 --> 01:47.100
ฉันต้องเพิ่มเนมสเปซ
และฉันจะใช้การผูกข้อมูล

22
01:47.100 --> 01:58.440
ดังนั้นที่นี่แน่นอนว่าฉันจะกลับไปที่แท็ก
Android และดึงผลิตภัณฑ์ที่สร้างเข้ามา
และฉันจะเพิ่มฟีเจอร์การสร้างด้วย

23
01:58.440 --> 02:06.480

และที่นี่ฉันจำเป็นต้องระบุการผูกข้อมูลเป็น
true เพื่อซิงค์ทันที
และการผูกข้อมูลได้ถูกเพิ่มเข้าไปในโปรเจกต์ของเราแล้ว

24
02:06.480 --> 02:14.550
และที่นี่ฉันจะเริ่มต้นด้วยแท็ก layout
ตัดมัน วางที่นี่
และฉันต้องเพิ่มเนมสเปซเหล่านี้

25
02:14.580 --> 02:15.720
Alt+ Enter

26
02:15.720 --> 02:22.710
คุณสามารถเพิ่มเนมสเปซนี้สำหรับ Android
และกด alt+enter
เพื่อสร้างการประกาศเนมสเปซสำหรับ Android
ได้

27
02:22.710 --> 02:28.140
และแน่นอนว่าฉันต้องเพิ่ม Android
ตรงนี้ด้วยเพื่อแก้ไขข้อผิดพลาด

28
02:28.170 --> 02:28.680
โอเค

29
02:28.680 --> 02:34.170
คุณสามารถเห็นได้ว่าข้อผิดพลาดได้หายไป
และรูปแบบการเลื่อนหน้าจอเต็มไปทั่วหน้าจอ

30
02:34.170 --> 02:43.400
ฉันจะให้เค้าโครงแบบ ID swipe
พร้อมเครื่องมือ
และฉันกำลังระบุบริบทของกิจกรรมหลัก dot

31
02:43.410 --> 02:46.590
โดยใช้ alt plus enter
เพื่อนำเข้าเนมสเปซนี้

32
02:46.600 --> 02:48.090
คุณสามารถเห็นเครื่องมือได้ที่นี่

33
02:48.120 --> 02:50.010
นี่คือรูปแบบของเราที่นี่

34
02:50.010 --> 02:57.570

ฉันกำลังระบุเลย์เอาต์การรีเฟรชแบบปัดและแท็กสิ้นสุดและแท็กปิดของการปัดเพื่อรีเฟรชนี้

35
02:57.570 --> 02:58.980
ฉันจะระบุไว้ที่นี่

36
02:59.010 --> 03:06.780
แน่นอน
ฉันรวมพวกมันไว้ในแท็กเลย์เอาต์เพื่อใช้การผูกข้อมูล

37
03:06.780 --> 03:13.980

และเนื่องจากฉันจะใช้แอดปเตอร์และรีไซเคิลเลอร์วิว
ฉันจึงต้องสร้างเลย์เอาต์แบบกำหนดเองใหม่เพื่อแสดงรายการในรีไซเคิลเลอร์วิว

38
03:13.980 --> 03:18.540
ดังนั้นสำหรับเรื่องนี้
ฉันจะสร้างรายการเพลงประกอบภาพยนตร์ใต้เส้นขีดล่าง

39
03:18.540 --> 03:25.650

เลย์เอาต์นี้จะทำหน้าที่เป็นแม่แบบสำหรับทุกไอเท็มในทุกภาพยนตร์ในมุมมองรีไซเคิลเลอร์ของฉัน

40
03:25.650 --> 03:33.450
ฉันจะเพิ่มแท็กเลย์เอาต์
และภายในเลย์เอาต์ฉันจะคัดลอกเนมสเปซเหล่านี้
ตัด แล้วเพิ่มที่นี่

41
03:33.450 --> 03:41.910
จากนั้นฉันจะลบเลย์เอาต์ข้อจำกัดนี้ออก
และภายในแท็กเลย์เอาต์

42
03:41.910 --> 03:47.370

ฉันจะเริ่มเพิ่มเลย์เอาต์เชิงเส้นเพราะฉันจะใช้มันเพื่อจัดระเบียบรายการและวิดเจ็ตในรูปแบบเชิงเส้น

43
03:47.370 --> 03:48.630
แมตช์พารเอนท์

44
03:48.630 --> 03:49.950
ห่อเนื้อหา

45
03:49.950 --> 03:52.650
ปรับแนว Android เป็นแนวตั้ง

46
03:52.650 --> 04:00.960
จากนั้นภายในเลย์เอาต์แบบเชิงเส้นนี้
ฉันจะสร้างเลย์เอาต์แบบมุมมองการ์ดโดยตั้งค่า
Matchparent

47
04:00.990 --> 04:02.520
สำหรับความกว้างและความสูงจะเป็น
Matchparent เช่นกัน

48
04:02.520 --> 04:14.070
นอกจากนี้ หมายเลขประจำตัวจะเป็น CVV
บัตรภาพยนตร์, มุมมอง, ภาพยนตร์
และระยะขอบเลย์เอาต์จะเป็นห้า, ความสูง

49
04:14.070 --> 04:22.200
DP จะเป็นสาม, DP
และแรงโน้มถ่วงจะเป็นบัตรกลาง,
รัศมีมุมหนึ่ง DP ซึ่งถือว่าดี

50
04:22.200 --> 04:24.420
และเราเสร็จสิ้นการดูการ์ดของเราแล้ว

51
04:24.420 --> 04:32.280
ภายในมุมมองการ์ดนี้
เราจำเป็นต้องเพิ่มวิวข้อความสองรายการและวิวรูปภาพหนึ่งรายการภายในเลย์เอาต์แบบสัมพัทธ์

52
04:32.280 --> 04:36.720
ดังนั้นฉันจะสร้างเลย์เอาต์แบบสัมพันธ์
Matchparent Matchparent

53
04:36.720 --> 04:42.390

และฉันจะระบุภายในเลย์เอาต์แบบสัมพัทธ์นี้ว่าให้แสดงวิวรูปภาพ

54
04:50.100 --> 04:52.290
และอีกสองวิวข้อความ

55
05:32.490 --> 05:36.290
นี่คือรูปแบบรายการภาพยนตร์ของเรา

56
05:36.300 --> 05:39.300

นี่คือการจัดวางที่มีการจัดวางแบบเชิงเส้นอยู่ภายใน

57
05:39.300 --> 05:42.090
และภายในเลย์เอาต์แบบเส้นตรงนี้
เรามีมุมมองแบบการ์ด

58
05:42.090 --> 05:48.900
และภายในมุมมองการ์ดนี้
เรามีการจัดวางแบบสัมพัทธ์ซึ่งประกอบด้วยวิวข้อความสองรายการและวิวรูปภาพหนึ่งรายการ


