目标

下图为本次实现目标

准备

事先准备图片放在路径下\bin\Debug\Resources\Image

实现

首先可以将界面分成A,B,C三个部分,这三个部分里的内容可以使用Image,TextBox,IconMenuView,PageView,ListView,ToolBar等控件实现。

创建SmobilerForm类,并在窗体类中依次加入Panel(Name属性设置headPanel),Toolbar ,Panel(Name属性设置bodyPanel)控件,

headPanel的size设置(300,40),Dock属性设置top;Toolbar 的Size设置(300,40),ToolBar的Dock默认Bottom,因此不需要设置;bodyPanel的Dock属性设置Fill即可,这样外层界面就实现了。

接着来实现部分A中的界面,先将headPanel的Layout设置Relative,Padding设置(10,5,10,5),Direction设置Row,BackColor设置gold,其余属性默认。

1. 在headPanel加入ImageButton,Name为imageButton1,其属性设置如下:Size设置(30,30),BorderRadius设置30,Margin设置(0,0,5,0),ImageBorderRadius设置30,ResourceId设置"logon.png",其余属性默认。

2. 在headPanel中加入Panel,Name为panel1,panel1的size设置(45,30),Padding设置(10,5,10,5),Touchable设置true。

在panel1中加入两个label,label1的size设置(45,20),Bold设置true,Text设置“上海”,HorizontalAlignment设置Center,其余属性默认;label2的size设置(45,10),ForeSize设置10,Text设置"阴19℃",HorizontalAlignment设置Center,其余属性默认。label1和label2上下排列撑满panel1

3. 再往headPanel中加入Panel,Name为panel2,panel2的size设置(157,30),BackColor设置white,BorderRadius设置6,Touchable设置true。在panel2中加入fonticon,size设置(15,15),ResourceId设置"search",ForeColor是在DimGrey,接着往panel2中加入label控件,label的size设置(127,30),Text设置“汉堡”,FontSize设置14。将fonticon和label并排在 panel2中。

4. 最后在headPanel中加imageButton,Name为imageButton2,ResourceId设置“plus”,Size设置(32,30)

headPanel的最终界面如下

接着实现部分B,bodyPanel的Layout设置Relative,Scrollable设置true。

1. 再往bodyPanel里加入panel,Name设置rspanel,rspanel的Size设置(300,20),Padding设置(10,5,10,5),Layout设置Relative,Direction设置Row,BackColor设置Gold。

2. 在rspanel里加入Button,Button的FontSi则设置10,Width设置45,HorizontalAlignment设置Center。通过代码往rspanel里加入热搜词,代码写在窗体的Load事件中:

```c#

string[] words = { "奶茶", "冰可乐","巨无霸汉堡","炸鸡"};

//热搜词

for(int i = 0; i < 4; i++) {

rspanel.Controls.Add(new Button()

{

BackColor = System.Drawing.Color.FromArgb(50, 255, 255, 255),

Text = words[i],

ForeColor = System.Drawing.Color.Black,

Padding = new Padding(10, 0, 10, 0),

Margin = new Margin(0,0,5,0),

FontSize=10

}) ;

}

```

3. 在bodyPanel中再加入panel,Name设置icpanel,icpanel的Size设置(300,60),Padding设置(10,5,10,5),Layout设置Relative,Direction设置Row,BackColor设置Gold。

4. 在icpanel里加入四个imagaButton,Size都是设置(70,50),ImageType设置FontIcon,ResourcId分别设置“ios-barcode”,“qrcode”,“bicycle”,“bus”,Text分别设置“扫一扫”,“付款码”,“骑车”,“乘公交”

5. 在bodyPanel里加入IconMenuView,iconMenuView1的Margin设置(10,5,10,5),Padding设置(0,10,0,0),BorderRadus设置6,Height设置135,ColumnNum设置5,通过一下代码添加icon,可以写在窗体的load事件中:

```c#

IconMenuViewGroup ig = new IconMenuViewGroup();

ig.Items.Add(new IconMenuViewItem("0", "icon1", "外卖"));

ig.Items.Add(new IconMenuViewItem("1", "icon2", "美食"));

ig.Items.Add(new IconMenuViewItem("2", "icon3", "酒店住宿"));

ig.Items.Add(new IconMenuViewItem("3", "icon4", "休闲玩乐"));

ig.Items.Add(new IconMenuViewItem("4", "icon5", "电影演出"));

ig.Items.Add(new IconMenuViewItem("5", "icon6", "打车"));

ig.Items.Add(new IconMenuViewItem("6", "icon7", "丽人美发"));

ig.Items.Add(new IconMenuViewItem("7", "icon8", "超市药店"));

ig.Items.Add(new IconMenuViewItem("8", "icon6", "借钱"));

ig.Items.Add(new IconMenuViewItem("9", "icon7", "火车票"));

iconMenuView1.Groups.Add(ig);

```

6. 在bodyPanel中加入pageview,pageview的Height设置90,Margin设置(10,5,10,5),BorderRadus设置6,IsLoop设置true。这个步骤需要创建一个SmobilerUserControl,类名为pageviewlayout,

usercontrol设置如下图,图中usercontrol,panel,image的size设置(300,90),image的DisplayMember设置img,

数据绑定代码,可以写在窗体的load事件中:

```c#

DataTable dt = new DataTable();

dt.Columns.Add("img");

dt.Rows.Add("img1");

dt.Rows.Add("img2");

pageView1.TemplateControl = new pageviewlayout();

pageView1.DataSource = dt;

pageView1.DataBind();

```

7. 在bodyPanel里加入Listview,listview的Size设置(0,0),listview也是需要模板的,模板设计如下:

usercontrol中控件的DisPlayMember设置分为:label1.DisplayMember = "sname";

label2.DisplayMember = "clabel";

label3.DisplayMember = "slabel";

label4.DisplayMember = "tlabel";

image1.DisplayMember = "img1";

image2.DisplayMember = "img2";

image3.DisplayMember = "img3";

绑定代码:

```c#

DataTable dt1 = new DataTable();

dt1.Columns.Add("sname");

dt1.Columns.Add("clabel");

dt1.Columns.Add("slabel");

dt1.Columns.Add("tlabel");

dt1.Columns.Add("c_label");

dt1.Columns.Add("img1");

dt1.Columns.Add("img2");

dt1.Columns.Add("img3");

dt1.Rows.Add("xxxx汉堡店","4.4分","人均¥36","55分钟送达","满10减2,满20减3,满60减6","food","food","food");

dt1.Rows.Add("xxxx汉堡店", "4.4分", "人均¥36", "55分钟送达", "满10减2,满20减3,满60减6", "food", "food", "food");

dt1.Rows.Add("xxxx汉堡店", "4.4分", "人均¥36", "55分钟送达", "满10减2,满20减3,满60减6", "food", "food", "food");

dt1.Rows.Add("xxxx汉堡店", "4.4分", "人均¥36", "55分钟送达", "满10减2,满20减3,满60减6", "food", "food", "food");

listView1.TemplateControl = new listviewlayout();

listView1.DataSource = dt1;

listView1.DataBind();

```

bodyPanel的最终界面如下:

最后设置Toolbar的Items,选中Toolbar,点击右侧的Items,在ToolBarItem编辑器中添加4个Item,ImageType都设置FontIcon,IconID和SelectIconID分别设"home","compass","calendar-o","user",Text分别设置"x团","发现","订单","我的",其余设置如下图。

运行后的效果

smobiler中实现页面切换_使用Smobiler实现类似美团的界面相关推荐

  1. 设计点击左侧切换页面进出_Axure教程:(初级)导航中的页面切换

    本文给大家讲讲如何利用Axure进行导航中的页面切换,一起来看看~ 一.页面布局 (1)从左侧元件库拉入两个矩形作为导航按钮,分别命名为:页面1.页面2. (2)从左侧元件库拉入一个动态面板作为页面内 ...

  2. iOS _Xcode中模拟器页面切换慢动作

    项目测试偶尔不知道点到哪里了,突然模拟器页面切换慢动作慢慢悠悠的可把自己给着急了,还以为是程序问题,切换别的程序,重启模拟器,重启Xcode,甚至重启笔记本依然于事无补,便问了一下度娘,找到了答案,给 ...

  3. idean中jsp页面乱码_全网最全解决这idea乱码问题

    全网最全解决这idea乱码问题 解决方法: 1.打开tomcat配置页面,Edit Configurations>画圈的修改成-Dfile.encoding=UTF-8. 2.尝试重启tomca ...

  4. python 从excel中抓取数据_使用Python抓取美团数据存于Excel中

    0.程序是针对美团中的美食部分数据按好评排序采集. 要抓取保存的数据为: 商家名类型  地理位置 评论人数  均价  最低价格 1.首先编写网页数据采集函数,使用request采集网页源码,具体实现如 ...

  5. 使用Smobiler实现类似美团的界面

    目标 下图为本次实现目标 准备 事先准备图片放在路径下\bin\Debug\Resources\Image 实现 首先可以将界面分成A,B,C三个部分,这三个部分里的内容可以使用Image,TextB ...

  6. 多少开发人员 饿了么_开发一款类似美团饿了么APP要多少钱?

    随着智能手机的一个迅速发展,各种点餐软件成了我们的必选,而方便的外卖配送类APP的开发就是其中之一.而外卖配送类APP可以高效的结合线下的一个资源,为客户提供个性化的外卖服务,让用户快速及时的享受周边 ...

  7. android tabhost 动画,Android中使用TabHost 与 Fragment 制作页面切换效果

    三个标签页置于顶端 效果图: 在文件BoardTabHost.java中定义页面切换的效果:切换页面时,当前页面滑出,目标页面滑入.这是2个不同的动画设定动画时要区分对待 import android ...

  8. webbrowser控件 有数据 但页面空白_如何在Excel中实现可以切换不同数据系列的滚珠图?...

    ▲更多精彩内容,请点击上方Excel小铲子▲ 操作系统版本 Windows 10 64位 Excel版本 Microsoft Excel 2016 64位 案例文档下载 链接:https://pan. ...

  9. UIView的AddChildViewCtroller的用法(4中页面切换方式)

    UIView的AddChildViewCtroller的用法 ---子控制器视图的切换 一.视图控制器的4种切换方式 1.使用presentViewController方法进行切换 适合于顺序型的页面 ...

  10. 怎么把一个控件放到tab页面上去?_移动端页面内容切换

    # 移动端页面内容切换 上周做了一个和页面切换相关的需求,为了探寻在需求场景下最符合用户心理模型的交互方式,当时一共输出了有四五种方案.总结一下各种切换页面内容的方式的特点和他们适用的场景.## 一. ...

最新文章

  1. JAVA hbase groupby_window操作和groupBy操作
  2. redis java 存储图片_Redis 存储图片 [base64/url/path]vs[object]
  3. bitcoin全节点部署及bitcoind bitcoin-cli命令使用解释
  4. LeetCode Number of Boomerangs
  5. 部署高可用的Lync Server 2013 Part 4 部署高可用的文件共享DFS
  6. 学计算机申请书100字,加入学生会申请书100字范文
  7. mvn打包并部署本地tomcat_maven项目自动打包部署到tomcat中
  8. 博士面试被拒,只因第一学历非985、211...
  9. python计算最大公约数函数_Python实现的求解最大公约数算法示例
  10. 独立站适合做B端吗?外贸B2B独立站怎么做?
  11. 设计模式在项目中的应用案例_三菱PLC实际项目应用案例讲解
  12. java能否构成三角形_java中判断三个参数是否能构成三角形的方法
  13. 中国睫毛生长液行业市场供需与战略研究报告
  14. 方差分析ANOVA:理论、推导与R语言实现
  15. Serverless开源框架对比
  16. ChatGPT国内在线版、微信版
  17. 开关电源:选择隔离电源还是非隔离电源(转)
  18. mysql查询所有姓王的信息_MySQL(4)— 数据查询
  19. 【工具】BT - 比特彗星(端口监听(UPnP、ipv6、防火墙)、反吸血、tracker、杀毒)
  20. cmd 实用命令以及如何装逼

热门文章

  1. 编写注册表reg文件及批处理操作注册表
  2. 【OpenCV4】计算对称矩阵特征值和特征向量 cv::eigen() 用法详解和代码示例(c++)
  3. JAVA项目一 家庭收支记账软件
  4. my97前端日期插件使用示例
  5. 如何找出电脑里的流氓软件_可怕:正版的流氓软件,100个人的电脑里99台都安装了...
  6. JavaScript获取当前url路径
  7. 在线绘制GO、Pathway富集结果弦图
  8. 简历模板80套.zip
  9. 身份证前6位对应的省市区代码(超详细)
  10. K3Cloud不重启IIS修改调试代码