Добавьте только верхнюю и нижнюю границу на LinearLayout
Я хотел бы добавить только нижнюю и верхнюю границу на Linearlayout
.
Я попытался сделать это:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:bottom="1dp"
android:top="1dp">
<shape android:shape="rectangle">
<solid android:color="#FFFFFF" />
<stroke
android:width="1dp"
android:color="#000" />
</shape>
</item>
</layer-list>
Но он добавляет границу вокруг формы.
Не могли бы вы мне помочь?
Ответы
Ответ 1
Сделайте этот два файла и поместите этот код. вы можете установить границу верхней и нижней границы,
main.xml
<TextView
android:text="This is textline"
android:background="@drawable/border_set"
/>
border_set.xml
Этот файл находится в полном пути project_root/res/drawable/border_set.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="1dp" android:color="#FF000000" />
<solid android:color="#FFDDDDDD" />
</shape>
</item>
<item android:top="1dp" android:bottom="1dp">
<shape
android:shape="rectangle">
<stroke android:width="1dp" android:color="#000" />
<solid android:color="#FFFFFF" />
</shape>
</item>
</layer-list>
Ответ 2
Я думаю, что вы можете создать этот drawable и использовать его в качестве фона:
<?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="#000"/>
</shape>
</item>
<item android:bottom="1dp" android:top="1dp">
<shape android:shape="rectangle" >
<solid android:color="#FFFFFF" />
</shape>
</item>
</layer-list>
Подумайте, как сначала нарисовать прямоугольник с цветом границы, а затем наложить на него прямоугольник с цветом фона, оставляя 1dp сверху и снизу.
Ответ 3
Вот решение. Он работает даже с прозрачным фоном.
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:left="-2dp" android:right="-2dp">
<shape android:shape="rectangle">
<stroke android:width="2dp" android:color="@color/borderColor" />
<solid android:color="@color/backgroundColor" />
</shape>
</item>
</layer-list>
Ответ 4
Быстрый способ достичь этого:
- Добавить текстовый вид в нижнюю часть и/или верхнюю часть вашего макета.
- Установите ширину TextView в "match_parent"
- Установите высоту TextView примерно на "1dp" или найдите нужную толщину.
- Установите фон TextView в цвет, который вы хотите, чтобы граница была
Надеюсь, это поможет!
Ответ 5
Прост. Нарисуйте 3 фигуры, как это.
<?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/menu_line_separator_in" />
</shape>
</item>
<item android:bottom="1.5dp">
<shape android:shape="rectangle" >
<solid android:color="@color/menu_line_separator_out" />
</shape>
</item>
<item android:top="1.5dp">
<shape android:shape="rectangle" >
<solid android:color="@color/menu_line_separator_out" />
</shape>
</item>
</layer-list>
Ответ 6
Вы можете перейти по этой ссылке Есть ли простой способ добавить границу к верхней и нижней части Android-вида?
Я ожидаю, что вы решите эту ссылку.
также вы можете решить Как добавить границу вокруг линейного макета, кроме как внизу?
Ответ 7
Моя версия такова, что видна только верхняя и нижняя границы, а не границы слева и справа. И фон прозрачен.
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="1dp">
<item
android:left="-1dp"
android:right="-1dp"
android:top="-1dp"
android:bottom="1dp">
<shape
android:shape="rectangle">
<stroke
android:width="1dp"
android:color="@color/BlueGrey_colorPrimary" />
<solid android:color="@android:color/transparent" />
</shape>
</item>
</layer-list>
Ответ 8
Я считаю, что это самый простой способ:
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="#000000" />