corners边框_安卓中设置(shape)圆角背景和边框(stroke)相关的问题
最近開發的項目中使用的圓角背景和邊框比較多,基本都是使用shape文件和.9圖片實現的。但在實現的過程中也是會出現一些小問題,這篇隨筆會總結下來其中遇到的問題。
一,圓角大小不一致
1,四周圓角都為10dp 的shape設置
android:shape="rectangle">
android:bottomLeftRadius="@dimen/s_10dp"
android:bottomRightRadius="@dimen/s_10dp"
android:topLeftRadius="@dimen/s_10dp"
android:topRightRadius="@dimen/s_10dp" />
四周圓角一樣的效果.png
2,四周圓角左右下方為10dp,左上方為30dp,右上方為20dp 的shape設置
android:shape="rectangle">
android:bottomLeftRadius="@dimen/s_10dp"
android:bottomRightRadius="@dimen/s_10dp"
android:topLeftRadius="@dimen/s_30dp"
android:topRightRadius="@dimen/s_20dp" />
四周圓角不一樣的效果.png
二,外層父布局和內層子布局同時設置圓角
1,比如最外層布局設置四周圓角都為10dp ,而右下角的(TextView是)設置為30dp ,填充顏色為#4db8ff
外層和內層shape分別如下:
android:shape="rectangle">
android:bottomLeftRadius="@dimen/s_10dp"
android:bottomRightRadius="@dimen/s_10dp"
android:topLeftRadius="@dimen/s_10dp"
android:topRightRadius="@dimen/s_10dp" />
android:shape="rectangle">
android:bottomRightRadius="@dimen/s_30dp" />
外層和內層同時設置圓角但背景顏色不同.png
切記如果外層已經設置了圓角,內層match_parent后,如果背景僅僅設置一個背景顏色的話,會把外層的圓角覆蓋掉,效果如下
外層設置圓角后,內層單獨設置背景顏色.png
這時候需要給右下角的TexeView單獨設置一個bottomRightRadius和外層的圓角保持一致
三,圓角和邊框同時存在
項目中如果有多個有相同邊框的view拼接在一塊,會有重復的邊框,造成中間邊框變粗,從而影響效果。
可以通過以下代碼處理,給右邊view的左邊框設置為-1dp(絕對值和邊框一致),則右邊view的左邊框不再顯示。或者給左邊view的右邊框設置為-1dp(絕對值和邊框一致)亦可。
android:left="-1dp">
android:width="1dp"
android:color="#ff0000" />
android:topRightRadius="10dp"
android:bottomRightRadius="10dp" />
兩個有邊框的view拼接到一塊的中間邊框未處理,變粗.png
兩個有邊框的view拼接到一塊的中間邊框.png
總結
以上是生活随笔為你收集整理的corners边框_安卓中设置(shape)圆角背景和边框(stroke)相关的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python自动投递简历_python模
- 下一篇: import引入json文件_关于Typ