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
转载随意注明出处
Xamarin android CardView的使用详解的更多相关文章
- xamarin Android activity生命周期详解
学Xamarin我为什么要写这样一篇关于Android 的activity生命周期的文章 已经学Xamarin android有一段时间了,现在想起当初Xamarin也走了不少的弯路.当然Xamari ...
- ANDROID L——Material Design详解(UI控件)
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! Android L: Google已经确认Android L就是Android Lolli ...
- 《Android NFC 开发实战详解 》简介+源码+样章+勘误ING
<Android NFC 开发实战详解>简介+源码+样章+勘误ING SkySeraph Mar. 14th 2014 Email:skyseraph00@163.com 更多精彩请直接 ...
- Android开发之InstanceState详解
Android开发之InstanceState详解 本文介绍Android中关于Activity的两个神秘方法:onSaveInstanceState() 和 onRestoreInstanceS ...
- android bundle存放数据详解
转载自:android bundle存放数据详解 正如大家所知道,Activity之间传递数据,是将数据存放在Intent或者Bundle中 例如: 将数据存放倒Intent中传递: 将数据放到Bun ...
- Cordova 打包 Android release app 过程详解
Cordova 打包 Android release app 过程详解 时间 -- :: SegmentFault 原文 https://segmentfault.com/a/119000000517 ...
- Android中Service(服务)详解
http://blog.csdn.net/ryantang03/article/details/7770939 Android中Service(服务)详解 标签: serviceandroidappl ...
- 给 Android 开发者的 RxJava 详解
我从去年开始使用 RxJava ,到现在一年多了.今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 .而最近这几个 ...
- Android中mesure过程详解
我们在编写layout的xml文件时会碰到layout_width和layout_height两个属性,对于这两个属性我们有三种选择:赋值成具体的数值,match_parent或者wrap_conte ...
随机推荐
- km算法入门
本文知识均由笔者自学,文章有错误之处请不吝指出. 笔者刷数模题的时候有一道题考到了"二分图最大权分配",需要用到KM算法,但是书上对KM算法的介绍又臭又长,更何况有些同学" ...
- Python入门 - 生成随机数
生成随机数是编程中经常用到的功能,下面讲几种常用的随机函数randint,uniform, randrange: 一.生成随机整数 randint import random a = random. ...
- mvc约定
mvc是围绕一些基于约定的默认项,这写默认项在必要时可以覆盖,这个概念通常成为"约定优于配置". 比如没必要在web.config中设置views,models等文件夹的名称,已经 ...
- JavaScript--我发现,原来你是这样的JS:函数表达式和闭包
一.介绍 本次博客主要介绍函数表达式的内容,主要是闭包. 二.函数表达式 定义函数的两种方式:一个是函数声明,另一个就是函数表达式. //1.函数声明写法 function fn2(){ consol ...
- 【福利】十一起,小冰科技所有UWP产品免费半个月
从十月一日起(UTC协调世界时),至十月十五,小冰科技所有UWP产品免费半个月!!!!!! 注意是UTC哦,中国区,比UTC早8个小时,要等到十月一号早晨八点开始... 现在小冰科技旗下一共发布了 5 ...
- Haproxy配置日志显示
安装完haproxy后,日志默认是记录在系统日志下的.为了便于排错以及查看日志,我们需要将haproxy日志剥离出来. 在配置前,我们先来了解下日志的level: local0-local7 16-2 ...
- 树的平衡 AVL Tree
本篇随笔主要从以下三个方面介绍树的平衡: 1):BST不平衡问题 2):BST 旋转 3):AVL Tree 一:BST不平衡问题的解析 之前有提过普通BST的一些一些缺点,例如BST的高度是介于lg ...
- 【NOI2015】程序自动分析
https://www.luogu.org/problem/show?pid=1955 并查集+离散化. 先执行所有x=y问题,即合并x和y. 再依次执行所有x!=y问题,即查询x和y是否处于同一集合 ...
- MEAN 全栈开发 ——实现简单博客
最近在学习MEAN全栈开发的过程中,写了一个小程序就当练练手熟悉一下怎么去组合强大的功能. 废话不多说,直接上文件预览: 整体文件结构: 其中,public文件夹存放了img,js,css文件,其中的 ...
- iKcamp团队制作|基于Koa2搭建Node.js实战(含视频)☞ 中间件用法
中间件用法--讲解 Koa2 中间件的用法及如何开发中间件