在视图上创建圆角

时间:2019-07-04 07:25:03

标签: android view rounded-corners cornerradius

有什么方法可以在View内创建LinearLayout的圆角,而不是使用shape

<View
 android:layout_width="48dp"
 android:clickable="true"
 android:layout_height="48dp"
 android:background="#f55151" />

2 个答案:

答案 0 :(得分:1)

您可以使用CardView,并且可以在Cardview中创建自己的视图。在CardView上,可以设置card_view:cardCornerRadius。

<androidx.cardview.widget.CardView
   xmlns:card_view="http://schemas.android.com/apk/res-auto"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   card_view:cardBackgroundColor="@color/yourColor"
   card_view:cardCornerRadius="6dp">

   <View
      android:layout_width="48dp"
      android:clickable="true"
      android:layout_height="48dp"
      android:background="#f55151" />

</androidx.cardview.widget.CardView>

答案 1 :(得分:1)

如果您不想使用CardView,则是最简单的方法: 有关更多详细信息,请查看official docs

首先将此行添加到您的依赖项中:

implementation 'com.android.support:cardview-v7:28.0.0'

然后像这样使用它:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    ... >
    <!-- A CardView that contains a TextView -->
    <android.support.v7.widget.CardView
        xmlns:card_view="http://schemas.android.com/apk/res-auto"
        android:id="@+id/card_view"
        android:layout_gravity="center"
        android:layout_width="200dp"
        android:layout_height="200dp"
        card_view:cardCornerRadius="4dp">

        <TextView
            android:id="@+id/info_text"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </android.support.v7.widget.CardView>
</LinearLayout>

您可以找到更多选项here,例如:拐角半径,高程,背景颜色等。