인터넷에서 다양한 솔루션을 통해 모서리가 둥근 뷰를 만들 수 있습니다. 대부분은 사용자 지정 뷰를 생성하거나 둥근 모서리 뷰가 필요할 때마다 xml 또는 나인 패치로 드로어 블을 생성해야합니다.
문제는 이러한 뷰를 구현할 때 두 뷰에 공통된 배경색 만 있지만 모든 것이 포함되어 있어도 모든 뷰에 대해 드로어 블을 만들어야한다는 것입니다. 이것은 나에게 일종의 짜증나는 일이며 iOS 프레임 워크가 둥근 모서리 뷰를 만드는 좋은 방법을 제공한다고 들었습니다. 어떤 도움이라도 대단히 감사하겠습니다.
편집 : 둥근 모서리와 함께보기 및 그림자의 누르기 효과도 사용되는 일반적인 스타일 중 하나입니다. 솔루션에 이러한 효과가 포함되도록하십시오.
Material Components Library를 사용 하면를 사용하여 사용자 정의 모양MaterialShapeDrawable
을 그릴 수 있습니다 .
예를 들어 TextView
다음을 수행 할 수 있습니다.
<TextView
android:id="@+id/textview"
android:backgroundTint="@color/secondaryColor"
../>
그런 다음 다음을 만듭니다 MaterialShapeDrawable
.
float radius = getResources().getDimension(R.dimen.default_corner_radius);
TextView textView = findViewById(R.id.textview);
ShapeAppearanceModel shapeAppearanceModel = new ShapeAppearanceModel()
.toBuilder()
.setAllCorners(CornerFamily.ROUNDED,radius)
.build();
MaterialShapeDrawable shapeDrawable = new MaterialShapeDrawable(shapeAppearanceModel);
ViewCompat.setBackground(textView,shapeDrawable);
간단하게 View
:
<View
android:id="@+id/line"
android:layout_width="match_parent"
android:layout_height="4dp"
android:backgroundTint="@color/..."/>
그런 다음 동일하게 적용하십시오 MaterialShapeDrawable
.
View line = findViewById(R.id.line);
ViewCompat.setBackground(line,shapeDrawable);
다른 모서리를 만들 수도 있습니다.
ShapeAppearanceModel shapeAppearanceModel = new ShapeAppearanceModel()
.toBuilder()
.setAllCorners(CornerFamily.ROUNDED,0)
.setBottomRightCorner(CornerFamily.ROUNDED,radius)
.build();
또한 재질 구성 요소 라이브러리 에서 제공하는 대부분의 구성 요소 에는 배경으로 MaterialShapeDrawable이 있습니다.
이러한 경우에는 (이 예제에서는 MaterialCardView)와 같은 것을 사용하십시오.
MaterialCardView cardView = findViewById(R.id.card);
cardView.setShapeAppearanceModel(cardView.getShapeAppearanceModel()
.toBuilder()
.setBottomLeftCornerSize(...)
.setBottomEdge(...)
.build());
1.1.0 버전 의 라이브러리 가 필요합니다 . 현재 1.1.0-beta02
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다