windows phone 网易云阅读hubtile效果实现
效果图
曾几何时,刚接触wp的时候做了一个类似的界面,不过是Rectangle实现的,还是一个个摆的。。囧啊
现在感觉这种应该是用hubtile实现的,Toolkit(http://silverlight.codeplex.com/)中的一个控件,很方便。
引用Microsoft.Phone.Controls.Toolkit.dll 到你项目中,在在XAML内声明命名空间:
- xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
就可以使用hubtile控件了。
声明方式:(当然也可以用代码动态创建)
- <toolkit:HubTile Title="HubTile Title" Message="This is HubTile message!" x:Name="hubTile"/>
关键属性:
- Title:设置或获取HubTile实例的标题
- Message:设置或获取HubTile实例的信息,用小字体展示
- Source:ImageSource类型,设置或获取HubTile实例的图片源
- DisplayNotification:布尔值,它确定新提示的布尔标识
- Notification:设置或获取提示的内容,用大字体展示
- IsFrozen:布尔值,设置或获取那些没有处于Animated的图像的布尔标识
- GroupTag:设置或获取HubTile组的group tag。当你添加了多个HubTile,这时你可以把它们归为一组。
说明:不设置DisplayNotification值时,Notification的值是不显示的,只有设置DisplayNotification=“True” 后 才会显示Notificationg的值,但是Message的值将不会在显示。
如何实现列表的样式,这样是可以实现的,不断地修改margin,我这么写过,太傻了,,,
- <toolkit:HubTile x:Name="hubTile" Title="动态磁贴" Notification="Notification"
- DisplayNotification="True" VerticalAlignment="Top" HorizontalAlignment="Left" />
- <toolkit:HubTile x:Name="hubTile2" Title="动态磁贴" Notification="提示内容"
- Message="This is HubTile message!" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="220,0,0,0"/>
改正,用ListBox订制模版实现:
- <ListBox Height="400" HorizontalAlignment="Left" Margin="10,200,0,0"
- Name="lbHubTile" VerticalAlignment="Top" Width="450"
- ItemsSource="{Binding}">
- <!--实现水平方向列表,会自动换行-->
- <ListBox.ItemsPanel>
- <ItemsPanelTemplate>
- <toolkit:WrapPanel Orientation="Horizontal" />
- </ItemsPanelTemplate>
- </ListBox.ItemsPanel>
- <ListBox.ItemTemplate> <!--订制ListBoxItem样式-->
- <DataTemplate>
- <toolkit:HubTile Margin="10" Background="Blue"
- Message="{Binding Message}"
- Title="{Binding Title}"
- Notification="{Binding Notify}"/>
- </DataTemplate>
- </ListBox.ItemTemplate>
- </ListBox>
效果图:
实现的效果,tile在不停的反转,如何停止翻转效果,要靠HubTileService类来实现
实现一个例子,tap事件后tile停止翻转
- HubTile tile = sender as HubTile;
- if (tile != null)
- {
- if (tile.IsFrozen)
- {
- //HubTileService.FreezeGroup("Group") 操作一个HubTile组,参数为GroupTag的值
- HubTileService.UnfreezeHubTile(tile);
- }
- else
- {
- HubTileService.FreezeHubTile(tile);
- }
- }
通过style,改变hubtile的样式,如大小和翻转的速度,通过blend编辑,改变模版样式
我没有尝试,毕竟原本的设计应该能带给用户更好的使用体验
如何设置设置hubtile固定之前的状态,通过VisualStateManager来管理状态
- VisualStateManager.GoToState(hubTile2, "Collapsed", true);
- //Collapsed,Flipped,Semiexpanded,Expanded 几种模式
windows phone 网易云阅读hubtile效果实现的更多相关文章
- 解决Windows x86网易云音乐不能将音乐下载到SD卡的BUG
由于我个人最常用的电脑是Surface pro4 256G版本,装了不少生产力空间还挺吃紧的,音乐之类的必然都存单独的SD卡里.用UWP版本的网易云音乐倒是没问题,最近问题来了,UWP版本的网易云音乐 ...
- 利用UnblockNeteaseMusic实现网易云破版权,并实现shell可快速访问
注:本篇包含mac及windows下安装方式详细 mac安装 前提:安装有node环境,可参考 mac下安装nodejs 安装 下载git代码到本地 git clone https://github. ...
- windows 定时任务:schtasks,定时关闭网易云音乐
大部分属于转载和粘贴. 使用命令:schtasks windows 定时任务 使用样例: 每天定时关闭网易云音乐: 每天22:20关闭网易云音乐: schtasks /create /tn &qu ...
- 用其他音乐源帮帮网易云,Windows听歌利器
镜像文章 1.用其他音乐源帮帮网易云,Ubuntu听歌利器 2.用其他音乐源帮帮网易云,Android听歌利器 只剩下Windows端了,一并送上. 1.Windows懒人版 1.1第一种懒人方法 下 ...
- android仿网易云音乐引导页、仿书旗小说Flutter版、ViewPager切换、爆炸菜单、风扇叶片效果等源码
Android精选源码 复现网易云音乐引导页效果 高仿书旗小说 Flutter版,支持iOS.Android Android Srt和Ass字幕解析器 Material Design ViewPage ...
- iOS转场弹窗、网易云音乐动效、圆环取色器、Loading效果等源码
iOS精选源码 view controller transition and popover (控制器转场和弹窗) UITableView头部悬停+UITableView侧滑嵌套 一行代码集成时间选择 ...
- 用RotateDrawable实现网易云音乐唱片机效果
imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" alt="唱片机" title=""> ...
- Android ScrollView滚动实现大众点评、网易云音乐评论悬停效果
今天听着网易云音乐,写着代码,真是爽翻了. http://blog.csdn.net/linshijun33/article/details/47910833 网易云音乐这个产品亮点应该在评论这一模块 ...
- Windows 10 任务栏添加网易云音乐控制按钮
软件背景: 算是老帖新发,之前有朋友分享过一个很好用的工具,但可能是因为网易云软件更新后,导致控件失灵了,只剩下歌词控件有用了,所以今天用python重新写了一个小工具,发出来分享给大家,附上之前 ...
随机推荐
- Css3 display用法
display 属性规定元素应该生成的框的类型. display:none 此元素不会被显示 display:block 此元素将显示为块级元素,此元素前后会带有换行符 display:inl ...
- Using breakpad in cocos2d-x 3.2,dump信息收集
作者:HU 转载请注明,原文链接:http://www.cnblogs.com/xioapingguo/p/4037268.html 一.基本步骤 1.生成转换工具 2.把breakpad加入到项目 ...
- 谈使用Eclipse与DDMS调试Android程序的方法
在Eclipse开发工具中调试程序的方法很多,但是使用Eclipse调试Android程序时需要注意一些细节上的问题.许多刚接触 Android的开发者,在调试Android程序时总是不能迅速地找到程 ...
- redis的hash操作在集中式session中的应用
在集群部署时,为了高可用性的目的,往往把session进行共享,共享分为两种:session复制和集中式管理. redis在session集中式管理中可以起到比较大的作用. 制约session集中式共 ...
- Android ADB启动失败 ADB server out of date
调试Android程序时总提示ADB未运行,转到命令行方式下启动ADB, adb kille-server停止ADB, 然后再运行adb start-server 随后提示: adb server i ...
- Google前工程经理王忻:如何准备软件工程师的面试
http://t.jobdu.com/thread-368-1-1.html 导读:原文作者王忻,Google前工程经理,2003年月加入Google,是Google Lively背后的主导力量,是G ...
- js解析XML
//在当前页面内追加换行标签和指定的HTML内容function w( html ){ $(document.body).append("<br/>" + htm ...
- 对setTimeout()第一个参数是字串的深入理解以及eval函数的理解
<script language="javascript" type="text/javascript"> var a=1; setTimeout( ...
- asp正则过滤重复字符串的代码
asp下过滤重复字符串的代码,有时候我们需要过滤一些重复的字符串,下面的代码即可解决这个问题 比如 1223445677777778aabbcccccccccc 经过过滤之后就是12345678abc ...
- Android——列表视图(ListView)
列表视图是android中最常用的一种视图组件,它以垂直列表的形式列出需要显示的列表项.在android中有两种方法向屏幕中添加列表视图:一种是直接使用ListView组件创建:另外一种是让Activ ...