Próbuję utworzyć obramowanie układu z rogami, które są kwadratowe na zewnątrz i okrągłe wewnątrz. I zostały zebrane, że muszę stworzyć xml rozciągliwej definicję składający się z dwóch kształtach: jeden o promieniu szerokości obrysu i narożną i innym tylko o szerokości skok:Obramowanie w kształcie kwadratu z okrągłymi krawędziami wewnętrznymi
kanału alfa/
round_border.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="4dp" android:color="#FF000000" />
<padding android:left="7dp" android:top="7dp"
android:right="7dp" android:bottom="7dp" />
<corners android:radius="4dp" />
<solid android:color="#FFC0C0C0" />
</shape>
square_border.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="2dp" android:color="#FF000000" />
<solid android:color="#FFC0C0C0" />
</shape>
Każda z tych prac independantly jako obramowanie kiedy appliedby sobie tak:
android: tło = "@ rozciągliwej/round_border", ale gdy jeden lub oba są dodawane do listy pozycja-rozciągliwej tak:
composite_border.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<layer-list>
<item android:drawable="@drawable/round_border"/>
<!-- <item android:drawable="@drawable/square_border"/> -->
</layer-list>
</shape>
oraz:
android: background = "@ drawable/composite_border"
Tło layoutu jest całkowicie czarne, a nie tylko czarna ramka - czy każdy wie, jak skonfigurować listę warstw do wykonania tego zadania?
dzięki za udostępnienie tego! – cV2