一个Activity掌握Android5.0新控件 (转)


原文地址:http://blog.csdn.net/lavor_zl/article/details/51279386

谷歌在推出Android5.0的同时推出了一些新控件,Android5.0中最常用的新控件有下面5种。

1. CardView(卡片视图)



CardView顾名思义是卡片视图,它继承FrameLayout。它是一个带圆角的背景和阴影FrameLayout。CardView被包装为一种布局,并且经常在ListView和RecyclerView的Item布局中,作为容器使用。

CardView的使用非常简单:


    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="60dp">
        <Button
            android:id="@+id/ripple_button"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:layout_gravity="center"
            android:layout_margin="5dp"
            android:background="@drawable/ripple"
            android:gravity="center"
            android:text="我在一个CardView里面" />
    </android.support.v7.widget.CardView>  

2. Patelle(调色板)



Patelle是一个辅助类,它的作用是从图片中获取突出的颜色。

它可以提取下面几种特性的突出颜色:

- Vibrant(充满活力的)

- Vibrant Dark(充满活力,黑暗的)

- Vibrant Light(充满活力的,明亮的)

- Muted(柔和的)

- Muted Dark(柔和的,黑暗的)

- Muted Light(柔和的,明亮的)

Patelle的使用也非常简单:


        // 获取应用程序图标的Bitmap
        bitmap= BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
        // 通过bitmap生成调色板palette
        Palette palette=Palette.from(bitmap).generate();
        // 获取palette充满活力色颜色
        int vibrantColor=palette.getVibrantColor(Color.WHITE);  

3. Toolbar(工具栏)



Toolbar顾名思义是工具栏,作为ActionBar的替代品出现,谷歌推荐使用Toolbar替代ActionBar。

Toolbar可以放置在任何地方,不像ActionBar一样只能放置在固定的位置。

Toolbar支持比ActionBar更集中的特征。

Toolbar可能包含以下可选元素的组合:

- 导航按钮

- 品牌的Logo图像

- 标题和子标题

- 一个或多个自定义视图

        this.toolbar = (Toolbar) findViewById(R.id.toolbar);
        this.recyclerview = (RecyclerView) findViewById(R.id.recycler_view);
        this.ripplebutton = (Button) findViewById(R.id.ripple_button);
        this.button = (Button) findViewById(R.id.button);
        // 设置Logo
        toolbar.setLogo(R.mipmap.ic_launcher);
        // 设置标题
        toolbar.setTitle("Android5.0");
        // 设置子标题
        toolbar.setSubtitle("新控件");
        //设置ActionBar,之后就可以获取ActionBar并进行操作,操作的结果就会反应在toolbar上面
        setActionBar(toolbar);
        //设置了返回箭头,,相当于设置了toolbar的导航按钮
        getActionBar().setDisplayHomeAsUpEnabled(true);  

4. RippleDrawable(波纹图)



RippleDrawable顾名思义是波纹图,只能在Android5.0以上使用,目前还没有提供RippleDrawable向下兼容的支持包。

RippleDrawable可显示一个涟漪效应响应状态变化 。

定义一个UI的背景图片为RippleDrawable
android:background="@drawable/ripple"

在drawable文件夹下面定义一个RippleDrawable的xml文件

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"android:color="#0000FF">
    <item>
    <shape android:shape="rectangle">
    <solid android:color="#FFFFFF" />
    <corners android:radius="4dp" />
    </shape>
    </item>
</ripple>  

android:color :表示波纹的颜色
<item>:表示波纹图下面的条目

来看一下点击按钮的波纹效果

5. RecyclerView(循环视图)



RecyclerView是ListView的替代品,谷歌推荐使用RecyclerView替代ListView。

RecyclerView提供比ListView更加灵活的使用,并且性能比ListView更优。

RecyclerView可以设置线性,网格,瀑布流式三种布局管理器。

- LinearLayoutManager(线性布局管理器)

- GridLayoutManager(网格布局管理器)

- StaggeredGridLayoutManager(瀑布流式布局管理器)

RecyclerView的简单使用:

        this.recyclerview = (RecyclerView) findViewById(R.id.recycler_view);
        //新建一个线性布局管理器
        LinearLayoutManager manager=new LinearLayoutManager(this);
        //设置recyclerview的布局管理器
        recyclerview.setLayoutManager(manager);
        //新建适配器
        RecyclerViewAdapter adapter=new RecyclerViewAdapter(this,list);
        //设置recyclerview的适配器
        recyclerview.setAdapter(adapter);

RecyclerView适配器的定义:

public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.MyHolder>{private Context context;
    private List<String> list;
    public RecyclerViewAdapter(Context context) {
        this.context = context;
    }
    public RecyclerViewAdapter(Context context, List<String> list) {
        this.context = context;
        this.list = list;

    }
    @Override
    public MyHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        MyHolder holder=new MyHolder(LayoutInflater.from(context).inflate(R.layout.adapter_recycler_view,parent,false));
        return holder;
    }
    @Override
    public void onBindViewHolder(MyHolder holder, int position) {
        holder.textView.setText(list.get(position));

    }
    @Override
    public int getItemCount() {
        return list.size();
    }
    class MyHolder extends RecyclerView.ViewHolder{private TextView textView;
        public MyHolder(View itemView) {
            super(itemView);
            textView= (TextView) itemView.findViewById(R.id.text);
        }
    }
}

6. 一个Activity掌握Android5.0新控件



为了方便学习,本人将这5个新控件放到一个Activity中进行使用。

  • 程序原始界面讲解
  • 点击“设置…”按钮,获取应用程序图标的充满色彩的颜色,并将该颜色设置为Toolbar的背景颜色。
  • 点击“我在…”按钮,会出现波纹效果,因为按钮的背景图片是RippleDrawable,而此时按钮状态又发生了变化。

注意:RecyclerView,Patelle,CardView是在单独的支持包里面,不在appcompat-v7及其依赖子包中
要使用它们,必须导入它们的依赖包


    compile ‘com.android.support:recyclerview-v7:23.1.1‘
    compile ‘com.android.support:palette-v7:23.1.1‘
    compile ‘com.android.support:cardview-v7:23.1.1‘  

本程序源代码下载一个Activity掌握Android5.0新控件

来自为知笔记(Wiz)

时间: 2024-10-22 18:43:31

一个Activity掌握Android5.0新控件 (转)的相关文章

一个Activity掌握Android4.0新控件 (转)

原文地址:http://blog.csdn.net/lavor_zl/article/details/51261380 谷歌在推出Android4.0的同时推出了一些新控件,Android4.0中最常用的新控件有下面5种. 1. Switch的使用 Switch顾名思义,就是开关的意思,有开和关两种状态. 当Switch处于关闭状态时: 当Switch处于打开状态时: 怎么在定义xml中定义Switch <Switch android:id="@+id/_switch" andr

Android5.0新控件

谷歌在推出Android5.0的同时推出了一些新控件,Android5.0中最常用的新控件有下面5种.  1. CardView(卡片视图) CardView顾名思义是卡片视图,它继承FrameLayout.它是一个带圆角的背景和阴影FrameLayout.CardView被包装为一种布局,并且经常在ListView和RecyclerView的Item布局中,作为容器使用. CardView的使用非常简单: 1 <android.support.v7.widget.CardView 2 andr

Android5.0新控件CardView的介绍和使用

   CardView也是5.0的新控件,这控件其实就是一个卡片啦,当然我们自己也完全可以定义这样一个卡片,从现在的微博等社App中可以看到各式各样的自定义卡片,所以这个控件意义不是很大.比较是support中的view所以使用在布局里面的时候一下子看不到效果的,比较不好.CardView继承的是FrameLayout,所以摆放内部控件的时候需要注意一下啦. 建议:个人不是很建议用这个控件,因为我们完全可以自定义这样一个控件,这样既能在布局时直接看到效果又比较方便,关键问题是CardView中的

Android5.x 新控件之RecyclerView,CardView,Palette的使用

『转载注明出处:http://blog.csdn.net/feiduclear_up/article/details/46439005 CSDN废墟的树』 自Android5.0发布以来,谷歌推出全新的Material Desigen设计风格,时过一年多了,在国内也看到很多应用在慢 慢适应MD设计风格.其中比较好的app就是网易新闻客户端了,其设计风格基本符合MD要求.鉴于越来多App采 用MD设计风格,作为吊丝程序员的我们怎能落后呢?那就让我们来学习一些Android5.x新推出的一些控件吧.

Android4.0新控件

谷歌在推出Android4.0的同时推出了一些新控件,Android4.0中最常用的新控件有下面5种.  1. Switch的使用 Switch顾名思义,就是开关的意思,有开和关两种状态. 当Switch处于关闭状态时:  当Switch处于打开状态时:  怎么在定义xml中定义Switch <Switch android:id="@+id/_switch" android:layout_width="match_parent" android:layout_

一个Activity掌握Design新控件

一个Activity掌握Design新控件 欢迎转载,转载请注明原文地址:http://blog.csdn.net/lavor_zl/article/details/51295364谢谢. 谷歌在推出Android5.0的同时推出了全新的设计Material Design,谷歌为了给我们提供更加规范的MD设计风格的控件,在2015年IO大会上推出了Design支持包,Design常用的新控件有下面8种. 1. TextInputLayout(文本输入布局) TextInputLayout的作用是

Android Design新控件之TextInputLayout(文本输入布局)

谷歌在推出Android5.0的同时推出了全新的设计Material Design,谷歌为了给我们提供更加规范的MD设计风格的控件,在2015年IO大会上推出了Design支持包,Design常用的新控件包括: TextInputLayout(文本输入布局) TabLaout(选项卡布局) Snackbar FloatingActionButton(浮动按钮) NavigationView(导航视图) AppBarLayout(程序栏布局) CoordinatorLayout(协作布局) Col

Android M新控件之AppBarLayout,NavigationView,CoordinatorLayout,CollapsingToolbarLayout的使用

[转载请注明出处:http://blog.csdn.net/feiduclear_up/article/details/46514791 CSDN 废墟的树] 上一篇博客我们学习了Android Design Support Library库中的 是个简单的组件,不了解的童鞋可以参考之前的博客 Android M新控件之FloatingActionButton,TextInputLayout,Snackbar,TabLayout的使用. 这篇博客我们继续学习Design库中的其他四个组件,分别是

Android5.0新特性:RecyclerView实现上拉加载更多

RecyclerView是Android5.0以后推出的新控件,相比于ListView可定制性更大,大有取代ListView之势.下面这篇博客主要来实现RecyclerView的上拉加载更多功能. 基本思路是让RecyclerView的Adapter加载两种布局,第一个布局来显示主界面,第二个布局来显示上拉加载时的提示信息,让RecyclerView监听是否滑动到最后一个item,如果是,则调用上拉刷新的逻辑,拉取远程数据,并显示第二个布局.等加载完毕时,刷新 Adapter,并隐藏第二个布局.