文档章节

CardView去除阴影,CardView动态改变item文字

 净琉璃
发布于 2017/04/25 17:42
字数 616
阅读 215
收藏 0

结合自己在项目中的具体应用,来说说在使用CardView时候的一些问题。CardView是什么,这里就不多说了,简单的理解就是可以代替ListView的一种控件,是ListVIew的升级。而在使用CardView的时候,确实可以发现他的很多优点。


1、首先我引用的CardView版本如下

 对于用android studio开发工具,引用CardView是dependencies { ...  }中添加如下代码

compile'com.android.support:recyclerview-v7:23.1.1'    //recyclerview兼容库
compile 'com.android.support:cardview-v7:22.2.0'        
//cardview兼容库


2、CardView的一些基本属性

  • 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  

3、接下来就开始抛问题了

问题1,点击CardView某个Item后,如何修改文字以及颜色。(如下图,点击打开,变成关闭,并红色显示) 

        

      解决方式先v.findViewById然后set

/**
* 点击响应事件
*/

class openText implements View.OnClickListener {
@Override
public void onClick(View v) {

    if (mOnItemClickListener != null) {


     //设置背景,白色
    v.setBackground(0xFFFFFFFF); //注意这里是直接v.set
    //设置文字,关闭
    ((TextView)(v.findViewById(R.id.btn_open))).setText(“关闭”);//注意这里是先v.findViewById然后set
    //设置颜色,红色
   ((TextView)(v.findViewById(R.id.btn_open))).setTextColor(0xFFFF0000);//注意这里是先v.findViewById然后set

    mOnItemClickListener.onItemClick(v, v.getTag().toString());
    }
  }
}

问题2,如何去除CardView阴影

正如CardView的阴影属性,绝大部分时候都是需要的,但是有时候纯粹当作ListView使用则不希望显示阴影,该怎么办呢?

a.首先,设置阴影属性

app:cardElevation="0px" //阴影大小

app:cardMaxElevation="2px"//最大阴影大小,该值最小2px
app:cardUseCompatPadding="false"//不显示阴影
b.设置了以上属性仍然可能会有阴影,再设置
app:contentPaddingBottom="-20dp"//-20dp随便,为了保险起见取的20
app:contentPaddingTop="-20dp"
c.到此如果还是有阴影,那么就在Adapter的nBindViewHolder()方法中,设置CardView的背景色, 就可以完全解决去除阴影问题了
holder.content.setBackgroundColor(0xFFFFFFFF);//content是CardView的布局

实现a\b\c三步骤就可以完全解决去除CardView阴影这一问题了,经测试在android4.4 5.0都通过。

如果需要下划线,那么久在CardVIew的布局content中,添加高度为1的下划线,即可

<View
    android:layout_width="fill_parent"
    android:layout_height="1dp"
    android:background="@color/black_color" />



-----2016/4/5-----



本文转载自:http://blog.csdn.net/aheeyiqi/article/details/51064454

共有 人打赏支持
粉丝 1
博文 89
码字总数 20910
作品 0
杭州
高级程序员
私信 提问
CardView實現卡片式列表展示

前言 在实现列表展示的时候,偶尔我们想在item下面加点阴影,让每个item看起来更立体些,那么这种效果的实现,让我联想到了卡片控件CardView,那么这篇文章就让我们来学习下CardView的基本使用...

奔跑的佩恩
03/14
0
0
创建Material Design风格的Android应用--创建列表和卡片

上次说过使用主题,应用Material Design的样式,同时卡片布局也是Material Design的重要组成部分,今天来写写。 引言 在程序中创建复杂的Material Design 样式的 List和Card,可以使用Recycle...

码农明明
2014/10/21
0
0
Snackbar、CardView、FloatingActionButton、SwitchCompat使用介绍

Android5.0也出来了老长一段时间了,5.0推出的MartailDesign系列确实相当高大上,颜色鲜艳像各种套壳的iphone c,老有设计范儿了。接下来,就学着写它们的用法,并写一些效果。 github代码传...

奔跑吧李博
2018/10/19
0
0
RecyclerView各种使用方法

RecyclerView RecyclerView 比 ListView 更高级且更具灵活性。 它是一个用于显示庞大数据集的容器,可通过保持有限数量的视图进行非常有效的滚动操作。 如果您有数据集合,其中的元素将因用户...

zhw0596
2018/04/20
0
0
Android RecyclerView&CardView实现瀑布流效果

所需要的库及库工程 库: android-support-v7-recyclerview.jar :v21.x android-support-v4.jar :v21.x 库工程: android-support-v7-appcompat:v21.x android-support-v7-cardview 注意:car......

IamOkay
2015/08/12
0
14

没有更多内容

加载失败,请刷新页面

加载更多

Hibernate SQLite方言

以下代码有参考过github上国外某位大佬的,在发文的最新稳定版Hibernate上是可用的,有时间再仔细分析一下 import org.hibernate.dialect.Dialect;import org.hibernate.dialect.function.S...

CHONGCHEN
今天
3
0
CentOS 7 MariaDB搭建主从服务器

本文编写环境为CentOS7。确保关闭SELinux,关闭防火墙或者防打开指定端口。具体信息如下 #master[root@promote ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [r...

白豆腐徐长卿
今天
10
0
介绍python中运算符优先级

下面这个表给出Python的运算符优先级,从最低的优先级(最松散地结合)到最高的优先级(最紧密地结合)。这意味着在一个表达式中,Python会首先计算表中较下面的运算符,然后在计算列在表上部...

问题终结者
今天
3
0
Spring Boot 2.x基础教程:快速入门

简介 在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复黏贴的配置有一些厌烦?那么您就不妨来试试使用Spring Boot来让...

程序猿DD
昨天
10
0
SpringSecurity认证流程源码级详解

SpringSecurity认证流程源码级详解 认证流程说明 认证结果如何在多个请求之间共享 获取认证用户信息

chendom
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部