How to make a view with rounded corners?

前端 未结 20 1013
遇见更好的自我
遇见更好的自我 2020-11-27 11:08

I am trying to make a view in android with rounded edges. The solution I found so far is to define a shape with rounded corners and use it as the background of that view.

相关标签:
20条回答
  • 2020-11-27 11:50

    To create round corner image using com.google.android.material:material:1.2.0-beta01

     float radius = context.getResources().getDimension(R.dimen.border_radius_hug);
        shapeAppearanceModel = new ShapeAppearanceModel()
                .toBuilder()
                .setAllCorners(CornerFamily.ROUNDED,radius)
                .build();
    
    imageView.setShapeAppearanceModel(shapeAppearanceModel)
    

    or if you want to use it in xml file:

      <com.google.android.material.imageview.ShapeableImageView
                android:id="@+id/thumb"
                android:layout_width="80dp"
                android:layout_height="60dp"
                app:shapeAppearanceOverlay="@style/circleImageView"
                />
    

    in style.xml add this:

    <style name="circleImageView" parent="">
          <item name="cornerFamily">rounded</item>
          <item name="cornerSize">10%</item>
    </style>
    
    0 讨论(0)
  • 2020-11-27 11:51

    shape.xml

    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
    
        <solid android:color="#f6eef1" />
    
        <stroke
            android:width="2dp"
            android:color="#000000" />
    
        <padding
            android:bottom="5dp"
            android:left="5dp"
            android:right="5dp"
            android:top="5dp" />
    
        <corners android:radius="5dp" />
    
    </shape>
    

    and inside you layout

    <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_marginBottom="10dp"
            android:clipChildren="true"
            android:background="@drawable/shape">
    
            <ImageView
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
                 android:src="@drawable/your image"
                 android:background="@drawable/shape">
    
    </LinearLayout>
    
    0 讨论(0)
提交回复
热议问题