这是写代码时遇到的一个小问题。左边是一个自定义弹出输入框,用shape写的圆弧边框,先来看一下遇到的问题,如右图所示,当点击确定按钮的时候左下角直角尖处的白色底就显露了出来,另一个按钮是右边直角露白。
解决方案,把下面两个点击按钮都写个shape背景,用corners的bottomLeftRadius方法设置左下角圆弧还是右下角圆弧,和主图背景弧度设置成一样的弧度,这样再点击的时候就没有直角边了。
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@color/result_minor_text"/> <corners android:bottomLeftRadius="15dip" /> </shape> </item> <item android:state_pressed="false"> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@color/transparent"/> <corners android:bottomLeftRadius="15dip" /> <stroke android:color="@color/transparent"/> </shape> </item> </selector>