前言
Android 5.0的知识点讲完,下一篇要给大家带来一个综合例子的Demo,以及谈谈我对Android 5.0的看法。
有人肯定会想为什么不是每一篇博文带一个demo,我觉得无论学习什么东西都需要自己去实践,所以我没有提供Demo,想先让大家自己去按照我写的博文步骤去实现这个,在实现的过程中会遇到困难,然后自己去查找解决方案,最后自己做出来,这样学习到的东西才能让我们印象深刻。
Drawable Tinting(着色)
设置 ImageView 的 android:tint 属性,可以达到以下效果:
layout:
- <ImageView
- android:layout_width="100dp"
- android:layout_height="100dp"
- android:elevation="1dip"
- android:layout_gravity="center"
- android:src="@drawable/ic_launcher"
- />
- <ImageView
- android:layout_width="100dp"
- android:layout_height="100dp"
- android:elevation="1dip"
- android:layout_gravity="center"
- android:src="@drawable/ic_launcher"
- android:tint="@android:color/holo_red_dark"
- />
srceen
multiply
add
src_atop/src_in/src_over
Clipping Views(裁剪视图)
首先我们layout,设置两个正方形的TextView
- <TextView
- android:id="@+id/tv_1"
- android:layout_width="100dp"
- android:layout_height="100dp"
- android:elevation="1dip"
- android:layout_gravity="center"
- />
- <TextView
- android:id="@+id/tv_2"
- android:layout_width="100dp"
- android:layout_height="100dp"
- android:elevation="1dip"
- android:layout_gravity="center"
- />
- <span style="white-space:pre"> </span>v1 = findViewById(R.id.tv_1);
- v2 = findViewById(R.id.tv_2);
- ViewOutlineProvider viewOutlineProvider = new ViewOutlineProvider() {
- @Override
- public void getOutline(View view, Outline outline) {
- outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), 10);
- }
- };
- ViewOutlineProvider viewOutlineProvider1 = new ViewOutlineProvider() {
- @Override
- public void getOutline(View view, Outline outline) {
- outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), view.getHeight() / 2);
- }
- };
- v1.setOutlineProvider(viewOutlineProvider);
- v2.setOutlineProvider(viewOutlineProvider1);
效果如下: