创建宽度高度自适应的 Windows Phone App 界面布局

[1] 利用好 Grid 的分行/分列功能

Grid 提供了分行/分列的属性,示例代码如下:

<Grid.RowDefinitions>
    <RowDefinition Height="Auto"/>
    <RowDefinition Height="*"/>
    <RowDefinition Height="2*"/>
</Grid.RowDefinitions>

其中行高(列宽)有几种取值方式:

  1. 直接指定数值。此方式最直接,将直接指定具体高度或宽度。
  2. 使用 Auto 值。使用 Auto 的话,Grid 将根据该行/列内容计算其占据空间的大小。
  3. 使用 * 值。使用 * 的话,Grid 将根据其他的行/列占据空间后剩余的空间来计算此行/列的大小。此值还支持比例计算,如示例代码中的 2*,表示 Grid 的空间在第一行计算完成后,剩余空间将均分为3份,第二行占据一份,第三行占据两份。

分行/分列的属性在实现页面基础布局的情况下十分有用。但需要注意不要在数据模板中使用过于复杂的 Grid 结构,否则会导致大量计算资源消耗在计算 Grid 布局上。

相关资料:《关于 WPF 中的面板性能分析

[2] 注意对齐属性的区别
  1. HorizontalAlignment / VerticalAlignment (水平对齐和垂直对齐)

    HorizontalAlignmentVerticalAlignment 是 FrameworkElement 中定义的两个属性。当 FrameworkElement 位于面板或项控件中时,这两个属性将会有应用,设置后影响此元素的布局。默认值是 Stretch,如果需要建立一个自适应的布局,最好不要修改此值。

    • HorizontalAlignment 取值: Left / Right / Center / Stretch
    • VerticalAlignment 取值: Top / Bottom / Center / Stretch

    当前元素没有设置宽度(或高度)时,如使用除 Stretch 以外的值,会导致元素的大小变为该元素内部的元素占据的大小。如:

    <Border Height="50" BorderBrush="White" BorderThickness="3" Background="Red"
            HorizontalAlignment="Left">
    </Border>
    

    则此 Border 的宽度将变为0。因此,注意 Stretch 的使用。

  2. HorizontalContentAlignment / VerticalContentAlignment (内容水平对齐和内容垂直对齐)

    HorizontalContentAlignmentVerticalContentAlignment 是 Control 中实现的两个属性,主要影响控件内元素的排列位置,默认值分别是 HorizontalAlignment.LeftVerticalAlignment.Top。同样地,如果将属性设置为 Stretch 的话,则内部元素在没有设置固定大小时将会得到拉伸处理。

    • HorizontalContentAlignment 取值: Left / Right / Center / Stretch
    • HorizontalContentAlignment 取值: Top / Bottom / Center / Stretch

强调这两个属性的原因是,当我们需要实现弹性布局时,使用 Stretch 可以免除频繁设置元素大小的困扰。

转载于:https://www.cnblogs.com/blastmann/archive/2013/05/23/create-a-flexible-wp-app-page-layout.html

<think>好的,用户想了解如何使用Axure RP设计移动端APP界面。首先,我需要整理现有的引用资料,看看里面有哪些关键点可以提取。引用1提到Axure RP的基础介绍,引用2和3都涉及移动端设计的尺寸,比如375*812px和375*667px,还有使用动态面板和辅助线的方法。用户可能需要从设置画布尺寸开始,接着是组件使用、交互设计,最后是预览测试。 接下来,我应该按照步骤来组织回答。第一步是确定设计尺寸,这里需要解释为什么选择375px的宽度,比如iPhone的常见尺寸,并且说明如何设置辅助线。然后,添加基础组件,比如导航栏和列表,这部分需要结合引用中的动态面板使用,特别是滚动效果的处理。 交互设计部分,引用2提到保真交互原型,所以需要涵盖点击跳转和手势操作,比如滑动。动态面板的使用是关键,尤其是制作滚动效果,这里可能需要分步骤说明如何创建动态面板和设置交互事件。 最后,预览和测试部分,要强调预览的重要性,确保设计在不同设备上适配。生成的相关问题需要覆盖尺寸选择、交互提升、组件库使用以及适配技巧,这些都是用户可能进一步想了解的。 需要确保回答结构清晰,每个步骤都有具体的操作方法,并且自然地插入引用标记。同时,检查是否有遗漏的要点,比如引用3提到的辅助线设置,要详细说明。还要注意使用中文,避免使用Markdown,保持口语化但专业。可能用户是刚接触Axure的新手,所以步骤要详细,但不过于复杂。</think>### 使用 Axure RP 设计移动端 APP 界面教程 #### 1. **确定设计尺寸** - **推荐分辨率**:移动端设计常用尺寸为 $375\text{px} \times 667\text{px}$(iPhone 8/SE)或 $375\text{px} \times 812\text{px}$(iPhone 12/13 mini),根据目标用户设备选择[^3]。 - **设置辅助线**:在 Axure 编辑区域通过拖动辅助线定义内容区域边界,避免内容溢出屏幕范围。 #### 2. **添加基础组件** - **使用元件库**:从左侧面板拖拽按钮、输入框、图片等组件到画布,构建导航栏、列表、卡片等基础布局。 - **动态面板应用**:对于长页面(如商品列表),使用动态面板实现滚动效果,设置面板状态切换实现内容扩展[^2]。 #### 3. **交互设计** - **点击跳转**:选中按钮或图片,通过“交互”面板添加“单击跳转页面”事件,链接到其他页面原型。 - **手势操作**:为滑动区域添加“拖动”事件,结合动态面板的移动动画模拟左右滑动切换(如轮播图)。 - **条件判断**:通过变量记录用户操作(如登录状态),实现不同交互分支。 #### 4. **保真效果实现** - **状态管理**:为按钮设置悬停、按下、禁用等状态,提升界面真实感。 - **数据驱动**:使用中继器(Repeater)绑定模拟数据,动态生成列表内容。 #### 5. **预览与测试** - **生成 HTML**:通过“发布”菜单生成原型文件,用手机扫描二维码实时测试交互。 - **响应式适配**:在“页面属性”中设置自适应视图规则,适应不同屏幕尺寸[^1]。 ```axure示例 // 动态面板滚动实现(伪代码) OnDrag(动态面板): If 拖拽方向=垂直: 设置面板Y轴偏移量=当前鼠标位置 EndIf ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值