рдирдорд╕реНрддреЗ @рд╕рд░рдмрдЧреНрдпрд╕реНрде ред рдХрд▓ рдореИрдВрдиреЗ рд╕рдВрд╕реНрдХрд░рдг 6.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЖрдкрдиреЗ "рд╡реАрдбрд┐рдпреЛ рдЖрдИрдбреА" рдХреЛ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдкрд╛рд╕ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореЗрд░реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рд▓реЛрдЧ рдпрд╣реА рдХрд╣реЗрдВрдЧреЗред рдореЗрд░реЗ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдореЗрд░реЗ "videoId" рдореЗрд░реА рд╕реВрдЪреА рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХреЗ рдЕрдВрджрд░ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ listview.builder рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдПрдХ API рд╕реЗ рдбреЗрдЯрд╛ рд╣рдерд┐рдпрд╛ рд░рд╣рд╛ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рд╕реВрдЪреАрджреГрд╢реНрдп рдХреЗ рдмрд╛рд╣рд░ "рд╡реАрдбрд┐рдпреЛ рдЖрдИрдбреА" рдХреЛ рдореИрдк рдХрд░рдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрджрд▓рд╛рд╡ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ "youtubeplayer" рдХреЗ рдЕрдВрджрд░ "videoId" рд╣реЛрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
рдЗрд╕ рдорд╣рд╛рди рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рджред
@Xoshbin рдиреЗ рдирд┐рд░рдВрддрд░рддрд╛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП videoId
рдХреЛ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ (рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЬрд▓реНрдж рд╣реА рд╕реНрдкрдВрджрди рд╡реЗрдм рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝реВрдВрдЧрд╛) рдФрд░ YouTube IFrame рдкреНрд▓реЗрдпрд░ API рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдПред
рд╡реАрдбрд┐рдпреЛ рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╕рдорд╛рдзрд╛рди рдпрд╣рд╛рдВ рд╣реИ ред
@ рд╕рд░рдмрдЧреНрдпрд╕реНрде рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЙрд╕реЗ рднреА рдЪреЗрдХ рдХрд┐рдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдореЗрд░реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡реАрдбрд┐рдпреЛ рдЖрдИрдбреА "listview.builder" рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рдЕрдВрджрд░ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдореИрдк рдХрд░рдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдирд┐рдпрдВрддреНрд░рдХ рд╕реВрдЪреАрджреГрд╢реНрдп рдХреЗ рдмрд╛рд╣рд░ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдореЗрд░реА рдмрд╛рдд рд╕рдордЭ рд░рд╣реЗ рд╣реИрдВред
ListView.separated(
itemBuilder: (context, index) {
return YoutubePlayer(
controller: YoutubePlayerController(initialVideoId: data[index]),
actionsPadding: EdgeInsets.only(left: 16.0),
bottomActions: [
CurrentPosition(),
SizedBox(width: 10.0),
ProgressBar(isExpanded: true),
SizedBox(width: 10.0),
RemainingDuration(),
FullScreenButton(),
],
);
},
itemCount: data.length,
separatorBuilder: (context, _) => SizedBox(height: 10.0),
),
);
рдпрджрд┐ рдЖрдк рдХрд╣реАрдВ рдФрд░ рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
@ рд╕рд░рдмрдЧреНрдпрд╕реНрде рдзрдиреНрдпрд╡рд╛рдж рдЗрд╕рдиреЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ :)