创建通用灰色边框 drawable(5 模块各一份):
- bg_container_border.xml:透明填充 + 1dp #B0B0B0 描边
- 自动应用到 80 个无背景容器的布局文件
深色模式 bg_frame 加边框:
- drawable-night/bg_frame.xml(mymessagemanager + aes):
背景 shape 添加 1dp #666666 描边,保留渐变蒙版
统一圆角为 6dp(borderCornerRadius 属性化):
- 5 模块 attrs.xml 声明 borderCornerRadius(dimension)
- 12 个主题(6 普通 + 6 深色)设置 borderCornerRadius=6dp
- 12 个 drawable 文件约 40 处 corners 改用 ?attr/borderCornerRadius
(bg_frame / bg_frame_black/white / bg_shadow / bg_border_round
bg_toolbar_log / acard_frame_main / atoolbar_frame / ohpcts_frame
bg_container_border 等)
- 3 个 Java 自定义控件(AToolbar / ASupportToolbar / AboutView)
从硬编码 px 改为读取 ?attr/borderCornerRadius
受益布局模块:libaes / libappbase / appbase / mymessagemanager / aes / winboll
34 lines
1.4 KiB
XML
34 lines
1.4 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
|
||
<!-- 阴影部分 -->
|
||
<!-- 个人觉得更形象的表达:top代表下边的阴影高度,left代表右边的阴影宽度。其实也就是相对应的offset,solid中的颜色是阴影的颜色,也可以设置角度等等 -->
|
||
<item
|
||
android:left="2dp"
|
||
android:top="2dp"
|
||
android:right="2dp"
|
||
android:bottom="2dp">
|
||
<shape android:shape="rectangle" >
|
||
<gradient
|
||
android:angle="270"
|
||
android:endColor="#0F000000"
|
||
android:startColor="#0F000000" />
|
||
<corners android:radius="?attr/borderCornerRadius" />
|
||
</shape>
|
||
</item>
|
||
<!-- 背景部分 -->
|
||
<!-- 形象的表达:bottom代表背景部分在上边缘超出阴影的高度,right代表背景部分在左边超出阴影的宽度(相对应的offset) -->
|
||
<item
|
||
android:left="3dp"
|
||
android:top="3dp"
|
||
android:right="3dp"
|
||
android:bottom="5dp">
|
||
<shape android:shape="rectangle" >
|
||
<gradient
|
||
android:angle="270"
|
||
android:endColor="#AF000000"
|
||
android:startColor="#AF000000" />
|
||
<corners android:radius="?attr/borderCornerRadius" />
|
||
</shape>
|
||
</item>
|
||
</layer-list>
|