颜色渐变
- drawable下创建
bg_btn.xml
1 | <?xml version="1.0" encoding="utf-8"?> |
可用在android:background
控件加阴影
shadow_layout.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<LinearLayout 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:background="@color/gray"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_width="280dp"
android:layout_height="140dp"
android:background="@drawable/shadow_shape"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Linearlayout阴影, 5.0以下 layer-list图层"
android:textSize="22sp" />
</LinearLayout>
<LinearLayout
android:layout_width="280dp"
android:layout_height="140dp"
android:layout_marginTop="20dp"
android:background="@drawable/ll_shadow_shape"
android:elevation="5dp"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Linearlayout阴影, 5.0以上 shape+elevation"
android:textSize="22sp" />
</LinearLayout>
<android.support.v7.widget.CardView
android:layout_width="280dp"
android:layout_height="140dp"
android:layout_marginTop="20dp"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="10dp"
app:cardElevation="5dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="CardView阴影, 5.0以上 cardXxxx圆角阴影"
android:textSize="22sp" />
</android.support.v7.widget.CardView>
</LinearLayout>其中
shadow_shape.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!--按压状态下,前景变暗-->
<item android:state_pressed="true">
<layer-list>
<item android:left="4dp" android:top="4dp">
<shape>
<solid android:color="#F0F0F0" />
<corners android:radius="10dip" />
</shape>
</item>
</layer-list>
</item>
<!--非按压状态下-->
<item>
<layer-list>
<!-- 999渐变隐形外层 -->
<item
android:left="0dp"
android:top="0dp">
<shape>
<solid android:color="#999999" />
<corners android:radius="10dp" />
</shape>
</item>
<!-- 777渐变阴影中层 -->
<item
android:left="0dp"
android:top="0dp"
android:bottom="2dp"
android:right="1dp">
<shape>
<solid android:color="#777777" />
<corners android:radius="10dp" />
</shape>
</item>
<!-- 555渐变阴影内层 -->
<item
android:left="0dp"
android:top="0dp"
android:bottom="3dp"
android:right="2dp">
<shape>
<solid android:color="#555555" />
<corners android:radius="10dp" />
</shape>
</item>
<!-- 白色前景 -->
<item
android:left="0dp"
android:top="0dp"
android:bottom="4dp"
android:right="3dp">
<shape>
<!--<gradient-->
<!--android:angle="270"-->
<!--android:endColor="#666666"-->
<!--android:startColor="#ffffff"-->
<!--/>-->
<solid android:color="#FFFFFF" />
<corners android:radius="10dp" />
</shape>
</item>
</layer-list>
</item>
</selector>其中
ll_shadow_shape.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<!-- 设置圆角弹出框矩形 -->
<corners android:radius="5dip" />
<!-- 边框颜色 -->
<stroke
android:width="0.5dip"
android:color="#dddddd" />
<!-- 背景填充色 -->
<solid android:color="#fff" />
</shape>
1 |
|
shape是用来定义形状的
gradient – 定义该形状里面为渐变色填充。 startColor起始颜色,endColor结束颜色。 android:angle 是指从哪个角度开始变,angle=0时,渐变色是从左向右。 然后逆时针方向转,当angle=90时为从下往上。angle=-90即从上往下。
solid – 填充。
stroke – 描边。
corners – 圆角。
padding – 定义内容离边界的距离。 与android:padding_left、android:padding_right这些是一个道理。
使用cardView记得在build.gradle中添加
1 | compile 'com.android.support:recyclerview-v7:23.1.1' |
1 | //androidx cardview |
控件加阴影(shape_shadow_corner_12_dp5)
shape_shadow_corner_12_dp5.xml
1 |
|
使用:给需要阴影的控件添加android:background="@drawable/shape_shadow_corner_12_dp5"
android xml 设置半透明
android:background=”#26E6E8E7”
半透明颜色 前2位是透明度,后6位是颜色。
不透明 100% FF
95% F2
90% E6
85% D9
80% CC
75% BF
70% B3
65% A6
60% 99
55% 8C
半透明 50% 80
45% 73
40% 66
35% 59
30% 4D
25% 40
20% 33
15% 26
10% 1A
5% 0D
全透明 0% 00
举例:这是灰色
1 |
|
半透明#26E6E8E7
将layout转成图片
1 | //将布局转化成view对象 |
1 | //BitmapUtils.java |
黑白屏
1 | Paint paint = new Paint(); |
添加这几句就可以更改了(桌面图标的要另外更改)