안드로이드 프로그램 Shape 사용법 정리!

여기에 이미지 설명을 삽입하세요.

Android 프로그램 개발에서는 Shape를 사용하여 다양한 모양을 정의하는 경우가 많습니다.

먼저 Shape 아래에 있는 레이블과 그 의미를 이해해 보겠습니다.

solid: fill android:color는 채우기 색상을 지정합니다.

그래디언트: 그래디언트 android:startColor 및 android:endColor는 각각 시작 색상과 끝 색상입니다.

android:angle은 기울기 각도이며 45의 정수배여야 합니다. 또한 기본 그래디언트 모드는 선형 그래디언트인 android:type="linear"입니다.

그라데이션을 방사형 그라데이션( android:type="radial")으로 지정할 수 있으며 방사형 그라데이션은 반경 android:gradientRadius="50"을 지정해야 합니다.

각도 값에 해당하는 위치는 그림과 같습니다.

이미지.png

획: 획 android:width="2dp" 획의 너비, android:color 획의 색상. 획을 점선으로 만들 수도 있습니다. 설정 방법은 다음과 같습니다: android:dashWidth="5dp" android:dashGap="3dp" 여기서 android:dashWidth는 '-'와 같은 수평선의 너비를 나타내고, android:dashGap은 멀리 떨어져 있어

Corners: 둥근 모서리 android:radius는 모서리의 라디안입니다. 값이 클수록 모서리가 둥글게 됩니다. 네 모서리를 다른 각도로 설정할 수도 있습니다.

5개의 속성을 동시에 설정하면 Radius 속성이 유효하지 않게 됩니다.

android:Radius="20dp" 네 모서리의 반경을 설정합니다.

android:topLeftRadius="20dp" 왼쪽 상단 모서리의 반경을 설정 android:topRightRadius="20dp" 오른쪽 상단 모서리의 반경을 설정 android:bottomLeftRadius="20dp" 오른쪽 하단 모서리의 반경 설정 android:bottomRightRadius=" 20dp" 왼쪽 하단 모서리의 반경을 설정합니다.

padding : 상, 하, 좌, 우 4방향으로 간격을 설정할 수 있습니다.

여기서는 간단한 예인 ShapDemo를 살펴보겠습니다. 먼저 drawable 폴더 아래에 두 개의 xml 파일을 정의합니다.

Button_bg.xml의 내용은 다음과 같습니다.

<?xml version="1.0" 인코딩="utf-8"?>
<!-- 填充 -->
<solid android:color="#ff9d77" /> <!-- 定义填充的颜色值 -->

<!-- 描边 -->
<stroke
    android:width="2dp" 
    android:color="#fad3cf" /> <!-- 定义描边的宽度和描边的颜色值 -->

<!-- 圆角 -->
<corners
    android:bottomLeftRadius="5dp"
    android:bottomRightRadius="5dp"
    android:topLeftRadius="5dp"
    android:topRightRadius="5dp" /> <!-- 设置四个角的半径 -->

<!-- 间隔 -->
<padding
    android:bottom="10dp"
    android:left="10dp"
    android:right="10dp"
    android:top="10dp" /> <!-- 设置各个方向的间隔 -->

Button_pressed_bg.xml의 내용은 다음과 같습니다.

<?xml version="1.0" 인코딩="utf-8"?>
<!-- 渐变 -->
<gradient
    android:endColor="#FFFFFF"
    android:gradientRadius="50"
    android:startColor="#ff8c00"
    android:type="radial" />

<!-- 描边 -->
<stroke
    android:dashGap="3dp"
    android:dashWidth="5dp"
    android:width="2dp"
    android:color="#dcdcdc" />

<!-- 圆角 -->
<corners android:radius="5dp" />

<!-- 间隔  -->
<padding
    android:bottom="10dp"
    android:left="10dp"
    android:right="10dp"
    android:top="10dp" />

여기서 설명하자면 획에 대시 매개변수를 설정하여 그래픽의 가장자리가 점선이 되도록 합니다.

다음 내용이 포함된 선택기 선택기 버튼.xml 파일을 drawable 폴더 아래에 추가합니다.

<?xml version="1.0" 인코딩="utf-8"?>
<item android:drawable="@drawable/button_pressed_bg" android:state_pressed="true"></item>
<item android:drawable="@drawable/button_bg"></item>

이 파일의 의미에 대해서는 앞서 언급한 바 있는데, 정상적인 조건에서는 버튼_bg가 표시되고, 누르면 버튼_눌림_bg가 표시된다.

레이아웃 디렉터리에 있는 Activity_main.xml의 내용을 살펴보겠습니다.

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/button"
    android:text="TestShapeButton" />

drawable 폴더에 배경을 버튼.xml로 직접 지정하세요.

실행 중인 프로그램의 스크린샷은 다음과 같습니다.

이미지.png
마지막으로, 난잡하고 흩어지고 파편화된 지식을 체계적으로 정리하여 체계적이고 효율적으로 모든 측면을 마스터할 수 있도록 알리바바의 수석 아키텍트가 작성한 "안드로이드 8개 모듈에 관한 고급 자료" 세트를 여러분과 공유하고 싶습니다. Android 개발 지식 포인트.

기사의 내용이 많고 공간이 제한되어 정보를 PDF 문서로 정리했습니다. "안드로이드 8개 모듈에 대한 고급 자료" 전체 문서가 필요한 경우 WeChat을 추가하여 무료로 얻을 수 있습니다!

PS: (글 마지막 부분에 ChatGPT 로봇을 사용하면 소소한 혜택도 있습니다!! 놓치지 마세요)

"안드로이드의 8개 모듈에 대한 고급 노트"

여기에 이미지 설명을 삽입하세요.

우리가 일반적으로 읽는 단편적인 내용에 비해 이 노트의 지식 포인트는 더 체계적이고 이해하기 쉽고 기억하기 쉬우며 지식 체계에 따라 엄격하게 배열되어 있습니다.

1. 소스코드 분석 수집

여기에 이미지 설명을 삽입하세요.

2. 오픈소스 프레임워크 모음

여기에 이미지 설명을 삽입하세요.

동시에, 하루 24시간 모든 사람의 어려운 기술 질문에 답변하기 위해 chatGPT를 기반으로 한 WeChat 그룹 채팅 로봇이 여기에 구축되었습니다 .

그림

추천

출처blog.csdn.net/huahaiyi/article/details/132060381