Android에서 텍스트 보기를 위한 둥근 모서리
텍스트 뷰가 있는데 모서리가 둥근 모양이면 좋겠습니다.사용할 수 있다는 것은 이미 알고 있습니다.android:background="@drawable/somefile"
. 저의 경우 이 태그는 이미 포함되어 있어서 다시 사용할 수 없습니다. 예를 들어,android:background="@drawable/mydialogbox"
이미 백그라운드에서 이미지를 만들기 위해 존재합니다.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="top"
android:background="@drawable/mydialogbox"
android:orientation="horizontal" >
<TextView
android:id="@+id/textview_name"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
</LinearLayout>
</RelativeLayout>
그래서 내가 원할때textview(textview_name)
또한 라운드 코너를 통해 이를 실현할 수 있는 방법을 확인할 수 있습니다.
만들다
rounded_corner.xml
에서drawable
폴더에 다음 내용을 추가합니다.<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <stroke android:width="1dp" android:color="@color/common_border_color" /> <solid android:color="#ffffff" /> <padding android:left="1dp" android:right="1dp" android:bottom="1dp" android:top="1dp" /> <corners android:radius="5dp" /> </shape>
그림 그리기 가능을 에 설정
TextView
배경 속성은 다음과 같습니다.android:background="@drawable/rounded_corner"
저는 이것이 당신에게 도움이 되기를 바랍니다.
게다가radius
, 둥근 모서리처럼 둥글게 만들 수 있는 부동산이 있습니다.topRightRadius
,topLeftRadius
,bottomRightRadius
,bottomLeftRadius
예TextView
와 함께red
모서리와 경계를 맞춥니다.gray
배경
bg_rounded.xml(그림줄 폴더)
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:width="10dp"
android:color="#f00" />
<solid android:color="#aaa" />
<corners
android:radius="5dp"
android:topRightRadius="100dp" />
</shape>
텍스트 보기
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_rounded"
android:text="Text"
android:padding="20dp"
android:layout_margin="10dp"
/>
결과
Material Components Library를 사용하면 을 사용할 수 있습니다.
의 경우:
<TextView
android:id="@+id/textview"
../>
프로그래밍 방식으로 A를 적용할 수 있습니다.MaterialShapeDrawable
:
float radius = getResources().getDimension(R.dimen.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);
배경색과 테두리를 변경하려면 다음을 적용하기만 하면 됩니다.
shapeDrawable.setFillColor(ContextCompat.getColorStateList(this,R.color.....));
shapeDrawable.setStroke(2.0f, ContextCompat.getColor(this,R.color....));
최상위 보기에 이미 Android:background 속성이 설정되어 있으므로 다음을 사용할 수 있습니다.<layer-list>
(link) 이전 배경과 새로운 둥근 모서리 배경을 모두 결합한 새로운 XML 그리기 표를 만듭니다.
각각<item>
목록의 요소는 다음 위에 그려지므로 목록의 마지막 항목은 맨 위에 있는 항목입니다.
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<bitmap android:src="@drawable/mydialogbox" />
</item>
<item>
<shape>
<stroke
android:width="1dp"
android:color="@color/common_border_color" />
<solid android:color="#ffffff" />
<padding
android:left="1dp"
android:right="1dp"
android:top="1dp" />
<corners android:radius="5dp" />
</shape>
</item>
</layer-list>
두 단계가 있습니다.
1) 그리기 가능한 폴더에 이 파일을 만듭니다. -rounded_corner.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="10dp" /> // set radius of corner
<stroke android:width="2dp" android:color="#ff3478" /> // set color and width of border
<solid android:color="#FFFFFF" /> // inner bgcolor
</shape>
2) 이 파일을 사용자의 파일로 설정합니다.TextView
배경 재산으로서
android:background="@drawable/rounded_corner"
이 그리기 파일은 단추 또는 텍스트 편집에서도 사용할 수 있습니다.
그릴 수 있는 폴더 아래에 xml gradient.xml 파일을 만듭니다.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle" >
<corners android:radius="50dip" />
<stroke android:width="1dip" android:color="#667162" />
<gradient android:angle="-90" android:startColor="#ffffff" android:endColor="#ffffff" />
</shape>
</item>
</selector>
텍스트 보기에 추가합니다.
android:background="@drawable/gradient"
제공된 직사각형 모양을 다음과 같이 사용할 수 있습니다(구배가 없는 경우).
인drawable/rounded_rectangle.xml
:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="5dp" />
<stroke android:width="1dp" android:color="#ff0000" />
<solid android:color="#00ff00" />
</shape>
그런 다음 텍스트 보기에서:
android:background="@drawable/rounded_rectangle"
물론 치수와 색상을 사용자 정의할 수 있습니다.
- 그리기 가능 폴더에서 마우스 오른쪽 단추를 누른 후 새 파일 만들기
- 사용자에 따라 파일 이름을 지정하고 확장자를 .xml로 추가합니다.
- 파일에 다음 코드 추가
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="5dp" />
<stroke android:width="1dp" />
<solid android:color="#1e90ff" />
</shape>
- 둥근 모서리를 원하는 위치에 선을 추가합니다.
android:background="@drawable/corner"
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<corners android:radius="5dp" />
<solid android:color="#ffffff"/>
</shape>
</item>
</layer-list>
TextView를 MaterialCardView 안에 넣습니다View:
<com.google.android.material.card.MaterialCardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:cardCornerRadius="25dp"
>
<com.google.android.material.textview.MaterialTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/emergency_sms_template"
android:padding="6dp"
android:textSize="11sp"
/>
</com.google.android.material.card.MaterialCardView>
SVG를 사용하여 모서리를 반올림하고 ImageView에 로드할 수 있으며 ContractLayout을 사용하여 TextView에 ImageView를 가져올 수 있습니다.
둥근 이미지 보기와 둥근 텍스트 보기에 사용했습니다.
해당 보기의 배경으로 둥근 모서리 이미지를 간단히 사용하는 것
그리고 사용자 지정 이미지를 그릴 수 있는 폴더에 저장하는 것도 잊지 마십시오.
android:background="@drawable/my_custom_image"
언급URL : https://stackoverflow.com/questions/18781902/rounded-corner-for-textview-in-android
'programing' 카테고리의 다른 글
MySQL의 MyISAM 엔진이 Foreign 키를 지원하지 않는 이유는 무엇입니까? (0) | 2023.10.03 |
---|---|
클래스 및 ID별 요소 내부 요소 가져오기 - JavaScript (0) | 2023.10.03 |
j입력유형="파일"에 대한 쿼리변경방법 (0) | 2023.10.03 |
워드프레스 포스트 발췌 클래스 (0) | 2023.10.03 |
$My Invocation.나의 사령부.경로 반환 NULL (0) | 2023.10.03 |