Showing
1 changed file
with
92 additions
and
43 deletions
| ... | @@ -42,6 +42,7 @@ class _PoemDetailPageState extends State<PoemDetailPage> { | ... | @@ -42,6 +42,7 @@ class _PoemDetailPageState extends State<PoemDetailPage> { |
| 42 | ), | 42 | ), |
| 43 | ), | 43 | ), |
| 44 | body: Container( | 44 | body: Container( |
| 45 | + alignment: Alignment.topCenter, | ||
| 45 | decoration: const BoxDecoration( | 46 | decoration: const BoxDecoration( |
| 46 | image: DecorationImage( | 47 | image: DecorationImage( |
| 47 | image: AssetImage("assets/images/poem/poem_background.png"), | 48 | image: AssetImage("assets/images/poem/poem_background.png"), |
| ... | @@ -49,60 +50,108 @@ class _PoemDetailPageState extends State<PoemDetailPage> { | ... | @@ -49,60 +50,108 @@ class _PoemDetailPageState extends State<PoemDetailPage> { |
| 49 | ), | 50 | ), |
| 50 | ), | 51 | ), |
| 51 | child: SafeArea( | 52 | child: SafeArea( |
| 52 | - child: Container( | 53 | + child: Column( |
| 53 | - margin: const EdgeInsets.symmetric(vertical: 40.0, horizontal: 25.0), | 54 | + crossAxisAlignment: CrossAxisAlignment.start, |
| 54 | - height: 240.0, | 55 | + children: [ |
| 55 | - width: double.infinity, | 56 | + Container( |
| 56 | - decoration: BoxDecoration( | 57 | + margin: const EdgeInsets.symmetric( |
| 57 | - color: Colors.grey.shade200.withOpacity(0.1), | 58 | + vertical: 40.0, horizontal: 25.0), |
| 58 | - border: Border.all(color: Colors.grey, width: 0.1), // 边色与边宽度 | 59 | + height: 240.0, |
| 59 | - borderRadius: BorderRadius.circular(2.0), | 60 | + width: double.infinity, |
| 60 | - ), | ||
| 61 | - child: ClipRect( | ||
| 62 | - child: BackdropFilter( | ||
| 63 | - filter: ImageFilter.blur( | ||
| 64 | - sigmaX: 10.0, | ||
| 65 | - sigmaY: 10.0, | ||
| 66 | - ), | ||
| 67 | - child: Container( | ||
| 68 | decoration: BoxDecoration( | 61 | decoration: BoxDecoration( |
| 69 | color: Colors.grey.shade200.withOpacity(0.1), | 62 | color: Colors.grey.shade200.withOpacity(0.1), |
| 63 | + border: Border.all(color: Colors.grey, width: 0.1), // 边色与边宽度 | ||
| 64 | + borderRadius: BorderRadius.circular(2.0), | ||
| 70 | ), | 65 | ), |
| 71 | - child: Padding( | 66 | + child: ClipRect( |
| 72 | - padding: const EdgeInsets.all(10.0), | 67 | + child: BackdropFilter( |
| 73 | - child: Column( | 68 | + filter: ImageFilter.blur( |
| 74 | - children: const [ | 69 | + sigmaX: 10.0, |
| 75 | - Text( | 70 | + sigmaY: 10.0, |
| 76 | - "题破山寺后禅院", | 71 | + ), |
| 77 | - style: TextStyle( | 72 | + child: Container( |
| 78 | - fontSize: 24.0, | 73 | + decoration: BoxDecoration( |
| 79 | - color: Colors.white, | 74 | + color: Colors.grey.shade200.withOpacity(0.1), |
| 80 | - ), | ||
| 81 | ), | 75 | ), |
| 82 | - Gaps.vGap16, | 76 | + child: Padding( |
| 83 | - Text( | 77 | + padding: const EdgeInsets.all(10.0), |
| 84 | - "常建", | 78 | + child: Column( |
| 85 | - style: TextStyle( | 79 | + children: const [ |
| 86 | - fontSize: 18.0, | 80 | + Text( |
| 87 | - color: Colors.white, | 81 | + "题破山寺后禅院", |
| 82 | + style: TextStyle( | ||
| 83 | + fontSize: 24.0, | ||
| 84 | + color: Colors.white, | ||
| 85 | + ), | ||
| 86 | + ), | ||
| 87 | + Gaps.vGap16, | ||
| 88 | + Text( | ||
| 89 | + "常建", | ||
| 90 | + style: TextStyle( | ||
| 91 | + fontSize: 18.0, | ||
| 92 | + color: Colors.white, | ||
| 93 | + ), | ||
| 94 | + ), | ||
| 95 | + Gaps.vGap12, | ||
| 96 | + Text( | ||
| 97 | + "清晨入古寺,初日照高林。\n竹径通幽处,禅房花木深。\n山光悦鸟性,潭影空人心。\n万籁此都寂,但余钟磬音。", | ||
| 98 | + style: TextStyle( | ||
| 99 | + color: Colors.white, | ||
| 100 | + fontFamily: "ZCOOLXiaoWei", | ||
| 101 | + fontSize: 24.0), | ||
| 102 | + ), | ||
| 103 | + ], | ||
| 88 | ), | 104 | ), |
| 89 | ), | 105 | ), |
| 90 | - Gaps.vGap12, | 106 | + ), |
| 91 | - Text( | 107 | + ), |
| 92 | - "清晨入古寺,初日照高林。\n竹径通幽处,禅房花木深。\n山光悦鸟性,潭影空人心。\n万籁此都寂,但余钟磬音。", | 108 | + ), |
| 93 | - style: TextStyle( | 109 | + ), |
| 94 | - color: Colors.white, | 110 | + const Padding( |
| 95 | - fontFamily: "ZCOOLXiaoWei", | 111 | + padding: EdgeInsets.symmetric(vertical: 10.0, horizontal: 25.0), |
| 96 | - fontSize: 24.0), | 112 | + child: Text( |
| 113 | + "100位用户朗读录制提交了“临境”", | ||
| 114 | + style: TextStyle(color: Colors.black, fontSize: 16.0), | ||
| 115 | + ), | ||
| 116 | + ), | ||
| 117 | + Container( | ||
| 118 | + padding: const EdgeInsets.symmetric( | ||
| 119 | + vertical: 10.0, horizontal: 25.0), | ||
| 120 | + width: 400.0, | ||
| 121 | + height: 160.0, | ||
| 122 | + child: ListView.builder( | ||
| 123 | + itemBuilder: (BuildContext context, int index) { | ||
| 124 | + return Wrap( | ||
| 125 | + spacing: 5.0, | ||
| 126 | + crossAxisAlignment: WrapCrossAlignment.center, | ||
| 127 | + children: const [ | ||
| 128 | + Icon( | ||
| 129 | + Icons.play_circle_outline, | ||
| 130 | + size: 16.0, | ||
| 97 | ), | 131 | ), |
| 132 | + Text( | ||
| 133 | + "普通话", | ||
| 134 | + style: TextStyle(color: Colors.white, fontSize: 16.0), | ||
| 135 | + ) | ||
| 98 | ], | 136 | ], |
| 137 | + ); | ||
| 138 | + }), | ||
| 139 | + ), | ||
| 140 | + Row( | ||
| 141 | + children: [ | ||
| 142 | + IconButton( | ||
| 143 | + icon: const Icon(Icons.mic_none), | ||
| 144 | + onPressed: () {}, | ||
| 99 | ), | 145 | ), |
| 100 | - ), | 146 | + IconButton( |
| 147 | + icon: const Icon(Icons.camera_alt_outlined), | ||
| 148 | + onPressed: () {}, | ||
| 149 | + ) | ||
| 150 | + ], | ||
| 101 | ), | 151 | ), |
| 102 | - ), | 152 | + ], |
| 103 | ), | 153 | ), |
| 104 | - )), | 154 | + ), |
| 105 | - alignment: Alignment.topLeft, | ||
| 106 | ), | 155 | ), |
| 107 | ); | 156 | ); |
| 108 | } | 157 | } | ... | ... |
-
Please register or login to post a comment