Подтвердить что ты не робот

Как создать границу на одном краю представления?

Я обнаружил, что для добавления границ вокруг представлений я могу использовать следующий код в качестве фона для представления:

<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF" />
<stroke android:width="1dp" android:color="#999999" />
<padding android:left="1dp" android:top="1dp" android:right="1dp"
    android:bottom="1dp" />
</shape>

Но что, если я хочу границу только для нижней, или верхней или правой или левой? Я попробовал следующее:

<shape
  xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line">
<stroke android:color="#000"/>
</shape>

но когда я устанавливаю его как фон

android:background="@drawable/my_border"

он рисует линию в середине представления, поэтому у меня есть эффект пробития. Есть ли способ рисовать эту строку внизу или вверху или сделать ее вертикальной?

В WPF у нас есть относительные координаты для фигур, поэтому я могу компенсировать линии по мере необходимости. Есть что-то подобное на Android? Если у нас нет границ, по крайней мере, у нас должны быть хорошие инструменты рисования линии, поэтому мы можем рисовать границы по мере необходимости. Планируют ли разработчики Android что-то сделать?

4b9b3361

Ответ 1

Для пограничной линии сверху или снизу вашего просмотра вы можете проверить мой предыдущий ответ здесь. Это очень простой способ.

Ответ 2

Ищите это:

<item android:state_pressed="false">
     <inset 
            android:insetBottom="-3dp"
            android:insetLeft="-3dp"
            android:insetTop="-3dp" >

                <shape >
                     <corners android:radius="0.0dip" />
                     <stroke android:width="2.0dip"  android:color="#EEE"/>

                </shape>
           </inset>
           </item>

он покажет границу только справа. И у вас нужно установить его в качестве фона