Final Assignment
FINAL PROJECT
BILIBILI Application
HOUYANHENG
0378215
Based on continuous iteration and updates, my app is now complete, covering several pages and functions, including
1.Login and Register
2.Home page, hot video page and "for you" page
3.Video playback page
4.Search Page
5.Search Details Page
6.ProfilePage
7.Mall page: bili shopping
8.Product page
9.Payment Page
Page construction and main function implementation:
Login and Register
Home page
First, add a String parameter (such as featureKey) to the settings of the playback page, then set the click action on the home page to jump to the playback page and pass in "V1". The playback page can control the display content or query the corresponding data based on this parameter. If the home page is a list, you can also pass the value of each list item to let each card jump to different content. In this way, you can achieve page jump with parameters.
On the homepage, select the container containing the search bar. In the Actions panel on the right, add an On Tap action and select Navigate To → SearchPage. Ensure Allow Back Navigation is enabled and Replace Route is disabled. Set the animation type to Instant or Right to Left, and set a duration of 300ms. Save and run the project. Clicking the area will redirect to the SearchPage.
Video playback page
First, add a String parameter named videoKey to the page settings and make it required. Then, place a VideoPlayer component on the page (with a title, description, etc.). The video source can be set to a local resource or a network link, and options such as autoplay, looping, and fullscreen can be enabled as needed. Next, set the visibility conditions for the player or its container. Set Visibility to Conditional and add OR conditions, such as videoKey == 'v1' or 'v2', to display different videos based on the passed parameters. Finally, when jumping from the previous page to the playback page, pass in the corresponding videoKey through a navigation action to implement video playback that loads different content based on the parameters.
Search Page
First, set the page background and keyboard collapse function, then add a top bar (including the back button and title). Next, place a rounded search bar with a search icon and input box, and add a TabBar with two options Comprehensive ranking and Sort by popularity. Add a list of video items to the page corresponding to each Tab, and display each video with a gray card with a thumbnail and title. Finally, you can add a click to jump to the playback page (VideoPlaybackPage) for the card, and pass in the parameter videoKey to play the corresponding video.bilishopping and purchase functions
On the payment page, first create the structure consistent with the screenshot: Place a Form (such as Form11) and add input fields for the cardholder's name, card number, expiration date, and CVV (or use the CreditCardForm component directly). Place the three payment methods (Credit Card, PayPal, and Apple Pay) below the form, with Credit Card checked by default. Use a CheckboxListTile or a custom row for styling. Place a "Pay Now" button at the bottom. At this stage, only the UI is built; no logic is added. Next, add two page status fields to the page settings: isPaying (Boolean, initial value false) to control whether the loading status is displayed, and paymentStatus (String, initial value "") to display the payment result. These two states will be used in the button logic later.In my project, animation is one of the most important parts. My animation design is divided into macro animation and micro animation. Macro animation refers to the animation of switching different pages, and micro animation is the animation of components in each page.When I officially designed the animation, I revised the previously designed animation to keep my animation style consistent and adapt to the function.
Set the top column to enter the fastest from the left, followed by the font. The middle row of videos then enter from the left. The bottom row of videos then enter from the bottom.
Hot Topics
The micro-animation of the hot video page is different from the home page. I designed it to be entered from the left and right respectively, so that it will not feel strange whether entering this page from the left or the right.
Video playback page
Flutterflow URL
Comments
Post a Comment