Как показать только верхнюю и нижнюю границу
Это мой XML-код, который работает нормально, единственная проблема в том, что он показывает границу на всех четырех сторонах, а я хочу, чтобы она отображалась только сверху и снизу. Как я могу это сделать?
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="#FFFFFF" />
<stroke
android:width="3dip"
android:color="#B1BCBE"
/>
<padding
android:bottom="0dip"
android:left="0dip"
android:right="0dip"
android:top="0dip"
/>
</shape>
5 ответов
Попробуйте ниже
<?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:bottom="5dp" android:top="5dp" >
// add android:right="5dp" and android:left="5dp" for border on left and right
<shape android:shape="rectangle">
<solid android:color="#000000" />
</shape>
</item>
</layer-list>
Редактировать:
Измените нижеприведенное в соответствии с вашими требованиями, изменив цвет, ширину обводки и отступы.
<?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="5dip"
android:color="#B1BCBE"
/>
<padding
android:bottom="0dip"
android:left="0dip"
android:right="0dip"
android:top="0dip"
/>
</shape>
</item>
<item android:bottom="5dp" android:top="5dp" >
<shape android:shape="rectangle">
<solid android:color="#FFFFFF" />
</shape>
</item>
</layer-list>
Щелчок
Использовать:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Describes the line -->
<item android:top="-1dp" android:bottom="-1dp">
<shape>
<solid android:color="@android:color/transparent" />
<stroke android:width="1dp" android:color="#ffffff" />
</shape>
</item>
</layer-list>
Попробуй это:
<padding
android:bottom="0dip"
android:left="-1dip"
android:right="-1dip"
android:top="0dip"
/>
Лучше не упоминать атрибуты высоты и ширины в списке слоев, поскольку атрибуты высоты и ширины элемента поддерживаются только из API 23.
Вы можете использовать ниже Drawable, который работал ниже Android 4.0 и выше 5.0.
<?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="@color/blue_light" /> <!-- this is stroke color-->
</shape>
</item>
<item android:bottom="5dp" android:top="5dp">
<shape android:shape="rectangle">
<solid android:color="@color/dark_blue" /> <!-- this is main color-->
</shape>
</item>
</layer-list>
Ссылайтесь на этот код -
<?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="#cccccc"/>
</shape>
</item>
<item android:top="2dp" android:bottom="2dp">
<shape
android:shape="rectangle">
<solid android:color="#efefef"/>
</shape>
</item>
</layer-list>