큰 레이아웃 하나와 그 안에 작은 레이아웃 하나가 있습니다.
작은 레이아웃 주위에 선 테두리를 만들려면 어떻게합니까?
큰 레이아웃 하나와 그 안에 작은 레이아웃 하나가 있습니다.
작은 레이아웃 주위에 선 테두리를 만들려면 어떻게합니까?
답변:
확실한. 원하는 레이아웃에 테두리를 추가 할 수 있습니다. 기본적으로 사용자 지정 드로어 블을 만들고 레이아웃에 배경으로 추가해야합니다. 예:
customborder.xml
드로어 블 폴더에 라는 파일을 만듭니다 .
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<corners android:radius="20dp"/>
<padding android:left="10dp" android:right="10dp" android:top="10dp" android:bottom="10dp"/>
<stroke android:width="1dp" android:color="#CCCCCC"/>
</shape>
이제 작은 레이아웃에 배경으로 적용하십시오.
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/customborder">
그게 트릭을해야합니다.
참조 :
<solid/>
와 <stroke/>
전체 사각형을 채우기? 내 코드의 버그입니까?
아래와 같이 drawable 폴더에 border.xml이라는 XML을 만듭니다.
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#FF0000" />
</shape>
</item>
<item android:left="5dp" android:right="5dp" android:top="5dp" >
<shape android:shape="rectangle">
<solid android:color="#000000" />
</shape>
</item>
</layer-list>
그런 다음 이것을 선형 레이아웃에 다음과 같이 backgound로 추가하십시오.
android:background="@drawable/border"
이 시도:
예를 들어 res / drawable / my_custom_background.xml을 다음과 같이 정의 해 보겠습니다.
(드로어 블 폴더에이 레이아웃 생성) layout_border.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<stroke android:width="2dp" android:height="2dp"
android:color="#FF0000" />
<solid android:color="#000000" />
<padding android:left="1dp" android:top="1dp" android:right="1dp"
android:bottom="1dp" />
<corners android:radius="1dp" android:bottomRightRadius="5dp"
android:bottomLeftRadius="0dp" android:topLeftRadius="5dp"
android:topRightRadius="0dp" />
</shape>
</item>
</layer-list>
main.xml
<LinearLayout
android:layout_gravity="center"
android:layout_width="200dp"
android:layout_height="200dp"
android:background="@drawable/layout_border" />
</LinearLayout>
드로어 블 폴더에 하나의 xml 파일 만들기
<stroke
android:width="2dp"
android:color="#B40404" />
<padding
android:bottom="5dp"
android:left="5dp"
android:right="5dp"
android:top="5dp" />
<corners android:radius="4dp" />
이제이 xml을 작은 레이아웃 배경으로 호출하십시오.
android : background = "@ drawable / yourxml"
이 솔루션은 테두리 만 추가하고 LinearLayout의 본문은 투명합니다.
먼저 드로어 블 폴더에이 테두리 드로어 블을 만듭니다. border.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android= "http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:width="2dp" android:color="#ec0606"/>
<corners android:radius="10dp"/>
</shape>
그런 다음 LinearLayout View에서 border.xml을 다음과 같이 배경으로 추가하십시오.
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/border">
다른 답변에 Android 문서 링크를 추가하겠습니다.
https://developer.android.com/guide/topics/resources/drawable-resource.html#Shape
Shape Drawable의 모든 속성을 설명하고 stroke
그중에서 테두리를 설정합니다.
예:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<stroke android:width="1dp" android:color="#F00"/>
<solid android:color="#0000"/>
</shape>
투명 한 배경으로 빨간색 테두리입니다.
드로어 블 리소스를 만들고 싶지 않습니까?
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/black"
android:minHeight="128dp">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="1dp"
android:background="@android:color/white">
<TextView ... />
</FrameLayout>
</FrameLayout>
res / drawable에서 이것을 시도하십시오
<?xml version="1.0" encoding="UTF-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape
android:shape="rectangle">
<padding android:left="15dp"
android:right="15dp"
android:top="15dp"
android:bottom="15dp"/>
<stroke android:width="10dp"
android:color="@color/colorPrimary"/>
</shape>
</item><item android:left="-5dp"
android:right="-5dp"
android:top="-5dp"
android:bottom="-5dp">
<shape android:shape="rectangle">
<solid android:color="@color/background" />
</shape></item></layer-list>