我在之前一片博客中讨论了如何在Eclipse中引入cardview库,并使用CardView进行设计。在Eclipse中还是比较麻烦的。现在研究在AS中使用Android L的新特性CardView,就相对方便了,毕竟都是Google弄的,所以考虑的比较周全。具体步骤如下:
(1)新建一个Project。在Gradle Scripts目录下打开第二个build.gradle(Module:app),注意不是第一个build.gradle(Project:CardViewDemo).
第一个build.gradle(Project:CardViewDemo)是整个工作空间的gradle.
第二个build.gradle(Module:app)是你的项目的gradle.所以你要在自己的项目中进行设置。
(2)打开第二个build.gradle(Module:app),在dependencies中加入:compile 'com.android.support:cardview-v7:21.0.0'. 如图所示:
。
(3)完成后,选择Build-->Rebuild Project. 重新刷新整个工作空间。这样webview依赖包就添加到你的项目中了。在External Libraries中可以看到增加了不少包,如何所示:
(4)开始编写代码测试CardView,其中图片资源放在mipmap_hdpi文件夹下(区别于Eclipse)。
xml:
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:card_view="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="5dp" android:orientation="vertical" card_view:cardBackgroundColor="@color/cardview_light_background" card_view:cardCornerRadius="5dp"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="5dp"> <TextView android:id="@+id/title" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="top|center_horizontal" android:text="标题:第一个CardView程序" android:textColor="@android:color/black" android:textSize="25sp" /> <ImageView android:id="@+id/pic" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/title" android:layout_centerInParent="true" android:scaleType="centerCrop" android:src="@mipmap/pic" /> <TextView android:id="@+id/desc" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/pic" android:layout_alignRight="@+id/pic" android:layout_marginRight="10dp" android:text="风景很美" android:textColor="@android:color/white" android:textSize="24sp" /> <TextView android:id="@+id/text" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/pic" android:text="正文:Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。" android:textColor="@android:color/black" android:textSize="25sp" /> <EditText android:id="@+id/input" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/text" android:hint="请输入内容" /> <TextView android:id="@+id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/input" android:text="这里会显示日期" android:textSize="30sp" /> </RelativeLayout> </android.support.v7.widget.CardView>
java:
package com.chenyufeng.cardviewdemo; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; import java.text.SimpleDateFormat; public class MainActivity extends Activity { private TextView dateText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dateText = (TextView) findViewById(R.id.date); SimpleDateFormat sDateFormat = new SimpleDateFormat( "yyyy-MM-dd hh:mm:ss"); String date = sDateFormat.format(new java.util.Date()); dateText.setText(date); } }
(5)最后的实现效果如下:
总结,根据以上步骤,就可以在AS中使用CardView进行设计开发了。
github主页:https://github.com/chenyufeng1991 。欢迎大家访问!