Android上的圆角 - 哪个实现更好?

时间:2016-04-06 15:43:29

标签: android android-layout

在android上有两种主要的圆角方法:

我不明白为什么我更喜欢使用9补丁而不是布局定义?对于性能方面还是其他方面有什么好处吗?

2 个答案:

答案 0 :(得分:1)

我会选择最简单的工具来满足我的需要。特别知道我以后可以轻松切换。如果我需要简单形状的Xml,如果我需要更复杂的东西或者已经提供了要使用的资产,则需要9补丁。

9-patch可以做的远远超过xml形状的简单舍入,它可以拉伸原始资产,保持四个角的宽高比,它们可能是圆形的,也可能不是,它们可能会像你想的那样复杂。

Odd-shape

我认为性能不是在大多数明智的用例中做出选择的理由。

答案 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>
  1. 如果要使用XML,则要为视图(按钮,TextView等)创建圆角。
  2. 使用CardView,如果要为ViewGroup创建圆角(LinearLayout,FrameLayout等)
  3. 如果使用9补丁你无法达到你想要的任何2以上