我试图创建一个分段的按钮控件,并且为每个分段使用了一个可绘制的控件.
<ripple xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:color="?androID:colorControlHighlight"> <item androID:ID="@androID:ID/mask"> <shape androID:shape="rectangle"> <solID androID:color="@color/search_filters_selected" /> </shape> </item> <item> <shape androID:padding="10dp" androID:shape="rectangle"> <solID androID:color="@color/search_filters_unselected" /> <stroke androID:wIDth="1dp" androID:color="@color/search_filters_selected" /> </shape> </item></ripple>
然后,根据是第一个,最后一个还是在中间,使用setCornerRadii将拐角半径设置为左圆角,右圆角或不倒圆角.
问题是我试图在视图中显示涟漪效应,但我无法做到这一点,以至于涟漪效应受圆角限制,它总是绘制到原始矩形like this上
我尝试将相同的拐角半径设置为rippledrawable的蒙版,或使用
< item androID:drawable =“?androID:selectableItemBackground” />在层列表中而不是< ripple>中,但是结果是相同的.有谁知道如何做到这一点,以使波纹被限制到新的界限?
解决方法:
解决方案,如果对任何人都有用,那就是使用不带遮罩的波纹,但还要设置拐角半径(任何一个,稍后都会更新)
所以我用
<ripple xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:color="?androID:colorControlHighlight"> <item> <shape androID:shape="rectangle"> <solID androID:color="#625505" /> <corners androID:radius="1dp"/> </shape> </item> <item> <shape androID:padding="10dp" androID:shape="rectangle"> <solID androID:color="@color/search_filters_selected" /> <stroke androID:wIDth="1dp" androID:color="@color/search_filters_selected" /> </shape> </item></ripple>
终于让它工作了
总结以上是内存溢出为你收集整理的Android:以编程方式设置RippleDrawable的角半径全部内容,希望文章能够帮你解决Android:以编程方式设置RippleDrawable的角半径所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)