【问题标题】:Rounded corners on android - which implementation is better?android上的圆角 - 哪个实现更好?
【发布时间】:2016-04-06 15:43:28
【问题描述】:

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

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

【问题讨论】:

标签: android android-layout


【解决方案1】:

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

9-patch 可以做的远不止简单的 xml 形状的舍入,它可以拉伸原始资源,保持四个角的纵横比,它们可能是圆形的,也可能不是圆形的,它们可以像你喜欢的那样复杂。

我应该认为性能不是在最明智的用例中做出任何选择的理由。

【讨论】:

    【解决方案2】:

    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. 如果您想为视图(按钮、TextView 等)制作圆角,请使用 XML
    2. 如果您想为 ViewGroup(LinearLayout、FrameLayout 等)制作圆角,请使用 CardView
    3. 如果您无法使用以上 2 中的任何一个实现您想要的效果,请使用 9 补丁

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多