Week 2
这周的需求如下:
- 界面设计
完成 MainPage、NewPage 两个界面的设计
- Adaptive UI
- 当窗口宽度小于800时,只显示原本在界面左侧的列表部分,底部导航栏只显示 Ad d图标
- 窗口宽度大于800时,显示完整界面
- 窗口宽度小于600时,列表项中的图片不显示
对于界面设计,肯定是自己设计的最好看,就不多赘述了。就来讲讲 Adaptive UI。
Adaptive UI
需求写的很清楚,实现不同窗口宽度下的不同UI显示。这个实现主要依赖于 VisualStateManager
VisualStateManager
首先来看看 MSDN 上对于 VisualStateManager 的描述:
The VisualStateManager enables you to specify:
- states for a control
- the appearance of a control when it is in a certain state.
- the appearance of a control when a control changes states.
解释一下,VisualStateManager 的功能有两个:
- 管理控件状态。
- 管理控件转换状态。
来看看 VisualStateManager 的基本XAML代码:
1 | <VisualStateManager.VisualStateGroups> |
- VisualStateManager
- VisualStateGroups
- VisualStateGroup
- VisualState
- StateTriggers,用于指定当前 VisualState 的限制条件。
- Setters,用于指定 UIElement 的状态。
- Storyboard,用于指定控件向此状态转换时的外观动画。
- VisualState
- VisualStateGroup
- VisualStateGroups
那么对于这个 Adaptive UI,很简单就可以实现了:
1 | <!--Adaptive UI Settings--> |
那么,Adaptive UI 就做完啦~
Visual Blend 可以了解一下,有助于 UWP 的 UI 开发