在android上有两种主要的圆角方法:
通过布局定义实现,可在此处找到一些示例: How to make layout with rounded corners..?
通过9补丁实现,这里描述: http://developer.android.com/tools/help/draw9patch.html
我不明白为什么我更喜欢使用9补丁而不是布局定义?对于性能方面还是其他方面有什么好处吗?
答案 0 :(得分:1)
我会选择最简单的工具来满足我的需要。特别知道我以后可以轻松切换。如果我需要简单形状的Xml,如果我需要更复杂的东西或者已经提供了要使用的资产,则需要9补丁。
9-patch可以做的远远超过xml形状的简单舍入,它可以拉伸原始资产,保持四个角的宽高比,它们可能是圆形的,也可能不是,它们可能会像你想的那样复杂。
我认为性能不是在大多数明智的用例中做出选择的理由。
答案 1 :(得分:1)
CardView还有第三个选项,它更清洁,更易于维护。
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="200dp"
android:layout_height="200dp"
card_view:cardBackgroundColor="@color/green"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="0dp" >
</android.support.v7.widget.CardView>