하단을 제외하고 선형 레이아웃 주위에 테두리를 추가하는 방법은 무엇입니까?
하단을 제외하고 선형 레이아웃 주위에 테두리를 추가하는 방법은 무엇입니까? LinearLayout은 왼쪽, 위쪽 및 오른쪽에 테두리가 있어야하지만 아래쪽에는 있어야합니다.
드로어 블 폴더에 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>
그런 다음 다음과 같이 선형 레이아웃에 배경을 추가합니다.
android:background="@drawable/border"
편집하다 :
이 XML은 GingerBread 2.3.3을 실행하는 은하계에서 테스트되었으며 아래 이미지와 같이 완벽하게 실행되었습니다.
또한
JellyBean 4.1.2를 실행하는 galaxy s 3에서 테스트되었으며 아래 이미지와 같이 완벽하게 실행되었습니다.
마지막으로 모든 API에서 완벽하게 작동합니다.
편집 2 :
또한 다음 코드를 사용하여 하단을 제외하고 테두리를 유지하면서 배경을 투명하게 유지하기 위해 스트로크를 사용할 수도 있습니다.
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:left="0dp" android:right="0dp" android:top="0dp"
android:bottom="-10dp">
<shape android:shape="rectangle">
<stroke android:width="10dp" android:color="#B22222" />
</shape>
</item>
</layer-list>
이 도움을 바랍니다.
이 XML을 저장하고 선형 레이아웃의 배경으로 추가합니다 ....
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="4dp" android:color="#FF00FF00" />
<solid android:color="#ffffff" />
<padding android:left="7dp" android:top="7dp"
android:right="7dp" android:bottom="0dp" />
<corners android:radius="4dp" />
</shape>
도움이 되었기를 바랍니다! :)
케니 말이 맞아요. 몇 가지를 정리하고 싶습니다.
- 파일을
border.xml
만들고 폴더에 넣습니다.res/drawable/
코드 추가
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <stroke android:width="4dp" android:color="#FF00FF00" /> <solid android:color="#ffffff" /> <padding android:left="7dp" android:top="7dp" android:right="7dp" android:bottom="0dp" /> <corners android:radius="4dp" /> </shape>
android:background="@drawable/border"
당신이 국경을 원하는 곳 과 같이 배경을 설정 하십시오.
내 처음에는 작동하지 않았습니다 border.xml
. 잘못된 폴더에 넣었 기 때문 입니다!
다음은 FrameLayout 위젯을 기반으로 원하는 위젯에 대해 원하는대로 테두리를 사용할 수있는 가볍고 통합하기 매우 쉬운 라이브러리에 대한 Github 링크 입니다.
여기에 얼마나 쉬운 지 알 수있는 간단한 샘플 코드가 있지만 링크에서 더 많은 정보를 찾을 수 있습니다.
<com.khandelwal.library.view.BorderFrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:leftBorderColor="#00F0F0"
app:leftBorderWidth="10dp"
app:topBorderColor="#F0F000"
app:topBorderWidth="15dp"
app:rightBorderColor="#F000F0"
app:rightBorderWidth="20dp"
app:bottomBorderColor="#000000"
app:bottomBorderWidth="25dp" >
</com.khandelwal.library.view.BorderFrameLayout>
따라서 하단에 테두리를 표시하지 않으려면이 사용자 정의 위젯에서 하단에 대한 두 줄을 삭제하면됩니다.
그리고 아니요, 저는이 도서관의 저자도 아니고 그의 친구도 아닙니다 ;-)
'Programing' 카테고리의 다른 글
Jupyter 내 Tensorflow 세트 CUDA_VISIBLE_DEVICES (0) | 2020.11.20 |
---|---|
Query if Android database exists! (0) | 2020.11.19 |
ScrollView 레이아웃이 전체 화면을 채우지 않습니다. (0) | 2020.11.19 |
How to get file path using Storage facade in laravel 5? (0) | 2020.11.19 |
UINavigationBar에서 UIBarButtonItem의 위치 변경 (0) | 2020.11.19 |