学习使用Material Design控件(一)

Google 发布的Material Design支持库,对我们的APP设计有很大的影响,如果重新设计APP,支持库应该直接用V4提升到V7了,我们可以用Toolbar代替ActionBar,以及引入了RecycleView, SnakeBar等新控件。

我写了一个Demo来学习使用这些新控件。

新建项目,加入依赖包

我们使用Android Studio来开发这个Demo,在Android Studio新建一个项目,修改App Module的build.gradle文件,把compileSdkVersion和targetSdkVersion改为21,因为Material Design支持库需要Android 5.0以上作为编译SDK。

同时要加入相关依赖包design和RecyclerView支持包。

android { compileSdkVersion 21 buildToolsVersion ”21.1.2” defaultConfig { applicationId ”materia.aswifter.com.materialexample” minSdkVersion 15 targetSdkVersion 21 versionCode 1 versionName ”1.0” } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), ‘proguard-rules.pro' } } } dependencies { compile fileTree(dir: ‘libs', include: [‘*.jar']) compile 'com.android.support:design:22.2.0' compile 'com.android.support:recyclerview-v7:22.0.+' }

新建Layout

新建activity_main.xml,在其中我们加入Toolbar和RecyclerView

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:background="?attr/colorPrimaryDark"> </android.support.v7.widget.Toolbar> <android.support.v7.widget.RecyclerView android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@+id/toolbar" android:scrollbars="none" /> </RelativeLayout>

新建Activity

新建MainActivity继承自AppCompatActivity

加入ToolBar

setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar);

使用RecyclerView

RecyclerView是用来替换ListView的,它在里面封装ViewHolder的一些处理,
不过RecyclerView没有setOnItemClickListener方法,需要自己实现。

mRecyclerView = (RecyclerView) findViewById(R.id.recyclerView); // use this setting to improve performance if you know that changes // in content do not change the layout size of the RecyclerView mRecyclerView.setHasFixedSize(true); // use a linear layout manager mLayoutManager = new LinearLayoutManager(this); mRecyclerView.setLayoutManager(mLayoutManager); // specify an adapter (see also next example) myDataset = new String[]{"JAVA", "Objective-C", "C", "C++", "Swift", "GO", "JavaScript", "Python", "Ruby", "HTML", "SQL"}; mAdapter = new MyAdapter(myDataset); mRecyclerView.setAdapter(mAdapter);

使用Snackbar

Snackbar的使用类似于Toast,我在RecyclerView的Item的点击事件中调用Snackbar,
显示TextView中的文字。

public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { // each data item is just a string in this case public TextView mTextView; public ViewHolder(View v) { super(v); mTextView = (TextView) v.findViewById(R.id.textView); v.setOnClickListener(this); } @Override public void onClick(View view) { Snackbar.make(view, mTextView.getText(), Snackbar.LENGTH_SHORT).show(); } }

项目源码已发布到Github,以后慢慢加入其他控件的使用。

源码地址:MaterialDesignExample

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

时间: 2024-07-31 23:55:30

学习使用Material Design控件(一)的相关文章

学习使用Material Design控件(四)Android实现标题栏自动缩放、放大效果

本文要实现内容移动时,标题栏自动缩放/放大的效果,效果如下: 控件介绍 这次需要用到得新控件比较多,主要有以下几个: CoordinatorLayout 组织它的子views之间协作的一个Layout,它可以给子View切换提供动画效果. AppBarLayout 可以让包含在其中的控件响应被标记了ScrollingViewBehavior的View的滚动事件 CollapsingToolbarLayout 可以控制包含在CollapsingToolbarLayout其中的控件,在响应colla

学习使用Material Design控件(二)使用DrawerLayout实现侧滑菜单栏效果

本文介绍如何使用DrawerLayout和NavigationView实现侧滑菜单栏的效果. 效果如下: Layout布局 <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+

学习使用Material Design控件(三)使用CardView实现卡片效果

本文主要介绍CardView的使用,CardView是继承自FrameLayout,使用比较简单,只需要用CardView包含其他View就可以实现卡片效果了. 实现效果如下: 加入依赖库 dependencies { -. compile 'com.android.support:cardview-v7:22.2.0' } Layout布局 <android.support.v7.widget.CardView android:layout_width="match_parent&quo

Android Material Design控件学习(三)——使用TextInputLayout实现酷市场登录效果

前言 前两次,我们学习了 Android Material Design控件学习(一)--TabLayout的用法 Android Material Design控件学习(二)--NavigationView的学习和使用 今天我们继续MD控件的学习和使用.在学习之前,我们先来看一下酷市场的登录效果. 实现这种效果的正是我们今天的主角--TextInputLayout. 学习 不管学习什么,首先看它的官方文档.这是最权威,最高效的学习途径. 文档地址:http://developer.androi

Android Material Design控件学习(一)——TabLayout的用法

前言 Google官方在14年Google I/O上推出了全新的设计语言--Material Design.一并推出了一系列实现Material Design效果的控件库--Android Design Support Library.其中,有TabLayout, NavigationView,Floating labels for editing text,Floating Action Button,Snackbar, CoordinatorLayout, CollapsingToolbar

Android Material Design控件学习(二)——NavigationView的学习和使用

前言 上次我们学习了TabLayout的用法,今天我们继续学习MaterialDesign(简称MD)控件--NavigationView. 正如其名,NavigationView,导航View.一般我们用它和DrawerLayout实现抽屉式导航设计,效果如下图. 学习 文档地址:http://developer.android.com/reference/android/support/design/widget/NavigationView.html 通过学习官方文档,我们知道Naviga

孙鑫VC学习笔记:ActiveX 控件 .

孙鑫VC学习笔记:ActiveX 控件 作者:华仔 | 录入时间:2007-12-26 | 点击:313 次    打印此文章 | 字体:大 中 小 基本概念: 容器和服务器程序       容器应用程序时可以嵌入或链接对象的应用程序.Word 就是容器应用程序.服务器应用程序是创建对象并且当对象被双击时,可以被启动的应用程序.Excel 就是服务器应用程序.ActiveX 控件不能独立运行,它必须被嵌入容器应用程序中,和容器应用程序一起运行. -------------------------

Android Support Design 控件 FloatingActionButton

 经常刚可以看到悬浮控件,比如印象笔记的下面那个绿色的悬浮按钮,这个控件非常简单也是来自Design Support Library中同理需要在Android studio中加入依赖库:design库 具体操作可以参考我前一篇http://blog.csdn.net/xsf50717/article/details/49405309 使用起来也很简单,下面是效果图 最下角是我真机的悬浮按钮,直接忽略吧 首先就是布局文件 [html] view plain copy <RelativeLayout

学习Winform文本类控件(Label、Button、TextBox)_C#教程

对于一个应用程序而言,控件是搭建用户界面的积木.它们具备交互式的特征.VS 2012中的控件都放在工具箱中,添加一个控件到窗体,只需在工具箱中选择好要添加的控件,并按住鼠标左键,拖动到窗体上即可.向窗体上添加控件还有另一个方法,就是通过代码来实现,即可通过窗体的Controls类的Add方法,格式为:窗体标识.Controls.Add(控件标识).通过代码的方法添加控件比较麻烦,基本上是不会使用这种方法的. 文本类控件包含标签控件(Label),按钮控件(Button),文本框控件(TextBo