Xamarin android CardView的使用详解
android 5.0新增加的一个控件CardView,在support v7兼容包中,意思就是卡片View,虽然可以设置阴影,圆角等等样式,但是我们也可以自己写出来,谷歌工程师之所以出这个,肯定是帮我们做了很多事情,在性能和兼容性各方面还是做了工作的。之前也有用过Listview,后来发现自己写的样式有点不堪,所以还是在项目中用了这玩意,今天我就来写写这玩意在Xamarin Android如何使用CardView呢?主要看一下下面三个例子
- CardView的简单使用
- 使用SeekBar来改变CardView的样式
- CardView与ListView的连用
Xamarin Android CardView简单使用
在Main.axml中是这样使用的:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#dedede" android:padding="10dp" > <android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" card_view:cardBackgroundColor="#00ffff" android:id="@+id/card_view"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="科比詹姆斯JR斯密斯凯里欧文张林杜兰特库里英格拉姆格兰特希尔乔治德拉蒙德汤普森卡戴珊张林张木木易建联阿泰斯特" android:gravity="" android:textSize="20sp" android:padding="10dp" android:layout_margin="10dp" android:textColor="#ffffff" /> </android.support.v7.widget.CardView> </LinearLayout>这是一个最普通的,设置了他的cardBackground背景色。CardView最大的亮点就是CardElelevation|:阴影和CardCornerRadius圆角,一些重要的属性如下:
- CardView_cardBackgroundColor 设置背景色
- CardView_cardCornerRadius 设置圆角大小
- CardView_cardElevation 设置z轴阴影
- CardView_cardMaxElevation 设置z轴最大高度值
- CardView_cardUseCompatPadding 是否使用CompadPadding
- CardView_cardPreventCornerOverlap 是否使用PreventCornerOverlap
- CardView_contentPadding 内容的padding
- CardView_contentPaddingLeft 内容的左padding
- CardView_contentPaddingTop 内容的上padding
- CardView_contentPaddingRight 内容的右padding
- CardView_contentPaddingBottom 内容的底padding
使用SeekBar来调整CardView样式
效果图如下:
除了在布局页添加一个SeekBar元素之外其他的地方都是一样的,在MainActivity.cs 代码如下:
using System; using Android.App; using Android.Content; using Android.Runtime; using Android.Views; using Android.Widget; using Android.OS; using Android.Support.V7.Widget; using static Android.Widget.SeekBar; namespace CardViewDemo { [Activity(Label = "CardViewDemo", MainLauncher = true, Icon = "@drawable/icon")] public class MainActivity : Activity, IOnSeekBarChangeListener { int count = 1; private SeekBar seek; private CardView cardview; public void OnProgressChanged(SeekBar seekBar, int progress, bool fromUser) { if(fromUser) { cardview.Radius = progress; cardview.CardElevation = progress; } } public void OnStartTrackingTouch(SeekBar seekBar) { //throw new NotImplementedException(); 表示进度条刚开始拖动出发的操作 } public void OnStopTrackingTouch(SeekBar seekBar) { //throw new NotImplementedException(); 停止拖动的时候出发的事件 } protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.Main); seek = FindViewById<SeekBar>(Resource.Id.seek1); cardview = FindViewById<CardView>(Resource.Id.card_view); seek.SetOnSeekBarChangeListener(this); } } }上面代码的逻辑相当简单,就是监听SeekBar的拖动事件,根据拖动的距离设置CardView的Radius和CardElevation。图中虽然看的不是很清楚,下面我们就来做一个ListView中应用这个CardView,当然CardView主要应用就是想ListView表格项式的显示。
Xamarin Android在ListView中应用CardView
效果看起来还不错吧。
作者:张林 原文标题:Xamarin android CardView的使用详解
原文链接:http://blog.csdn.net/kebi007/article/details/52820102
转载随意注明出处
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
m3u8和HLS下载和分析工具
HLS即HTTP Live Streaming的缩写,是由苹果公司(apple)提出的一种流媒体播出协议。iOS终端(iPhone、iPad、iPod等)以及Android终端都支持该协议。Android和iOS终端对HLS协议的支持是系统内置的,不需要开发额外的组件,通过HTML5网页和系统播放器可以直接播放HLS视频流。 m3u8是HLS协议的播出索引文件,是HLS协议的播放列表(Playlist),文件内容是utf-8编码的文本数据。HLS协议的播出内容是分片分发的,视频文件(或视频流)会被切成长度大致相等的视频小片段进行分发,m3u8文件描述这些视频片段的排列顺序和下载位置。如果HLS播出内容是加密的,m3u8还描述加密的协议和秘钥获取方式的信息。 相对其他播出协议,HLS的优势有: 1、将大文件切分成小的文件片段,使用HTTP协议传输,能够充分利用现有的缓存和CDN加速技术进行快速分发,适合在互联网上进行高效传输 2、Android和iOS都内置播放器,支持HTML5标签,能够方便的集成到HTML5应用和APP应用中,开发和集成难度低 3、编码、复用、传输、加密技术都...
- 下一篇
ADB Usage Complete / ADB 用法大全
转自: https://github.com/mzlogin/awesome-adb ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。 持续更新中,欢迎提 PR 和 Issue 补充指正,觉得有用的可以将 此 GitHub 仓库 Star 收藏备用。 注:有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。 基本用法 命令语法 为命令指定目标设备 启动/停止 查看 adb 版本 以 root 权限运行 adbd 指定 adb server 的网络端口 设备连接管理 查询已连接设备/模拟器 USB 连接 无线连接(需要借助 USB 线) 无线连接(无需借助 USB 线) 应用管理 查看应用列表 所有应用 系统应用 第三方应用 包名包含某字符串的应用 安装 APK 卸载应用 清除应用数据与缓存 查看前台 Activity 与应用交互 调起 Activity 调起 Service 发送广播 强制停止应用 文件管理 复制设备里的文件到电脑 复制电脑里的文件到设备 模...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS7设置SWAP分区,小内存服务器的救世主
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Hadoop3单机部署,实现最简伪集群
- CentOS关闭SELinux安全模块
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS8安装Docker,最新的服务器搭配容器使用